diff options
Diffstat (limited to 'Master/texmf-dist/tex')
29 files changed, 33336 insertions, 6664 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty b/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty index 8bb142ce521..2497d4df310 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty @@ -1,6 +1,4 @@ -% $Id: biblatex-chicago.sty,v 0.1.1.63 2018/01/10 17:37:15 dfussner Exp $ - -% Copyright (c) 2009-2018 David Fussner. This package is +% Copyright (c) 2009-2020 David Fussner. This package is % author-maintained. % % This work may be copied, distributed and/or modified under the @@ -13,22 +11,27 @@ % but not limited to, the implied warranties of merchantability and % fitness for a particular purpose. -\ProvidesPackage{biblatex-chicago}[2018/01/10 v 3.10 biblatex style] +\ProvidesPackage{biblatex-chicago}[2020/04/20 v 3.14 biblatex style] \RequirePackage{etoolbox} +\RequirePackage{nameref} +\RequirePackage{xstring} \DeclareOption{authordate}{\def\cms@style{authordate}} \DeclareOption{notes}{\def\cms@style{notes}} \DeclareOption{authordate-trad}{\def\cms@style{authordatetrad}} -\DeclareOption{authordate15}{\def\cms@style{authordateold}} -\DeclareOption{notes15}{\def\cms@style{notesold}} +\DeclareOption{authordate16}{\def\cms@style{authordateold}} +\DeclareOption{notes16}{\def\cms@style{notesold}} +\DeclareOption{authordate-trad16}{\def\cms@style{authordatetrold}} \DeclareOption*{\eappto\cms@options{\CurrentOption,}} \let\cms@options\empty \ExecuteOptions{notes}% \newtoggle{cms@nomark} +\newtoggle{cms@urlbreak} \DeclareOption{footmarkoff}{\global\toggletrue{cms@nomark}} +\DeclareOption{cmsbreakurl}{\global\toggletrue{cms@urlbreak}} \DeclareOption{natbib}{% \PassOptionsToPackage{natbib}{biblatex}} @@ -53,8 +56,10 @@ \def\cms@authordate{% \RequirePackage[style=chicago-authordate]{biblatex}% \ExecuteBibliographyOptions{% - pagetracker=true,autocite=inline,alldates=comp, - uniquename=minfull,useeditor=true,usetranslator=true,usenamec=true, + pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true, + citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true, + usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false, + dateuncertain=true,timezones=true,compressyears=true, ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates, uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false, abbreviate=false,dateabbrev=false,avdate=true}} @@ -66,32 +71,53 @@ citetracker=true,ibidtracker=constrict,usetranslator=true, usenamec=true,loccittracker=constrict,dateabbrev=false, maxbibnames=10,minbibnames=7,sorting=cms,sortcase=false, - uniquework=true}} + labeltitle=true,alltimes=12h,urltime=24h,timezones=true, + datezeros=false,datecirca=true,dateuncertain=true,compressyears=true, + nodates=true}} \def\cms@authordatetrad{% \RequirePackage[style=chicago-authordate-trad]{biblatex}% \ExecuteBibliographyOptions{% - pagetracker=true,autocite=inline,alldates=comp, - uniquename=minfull,useeditor=true,usetranslator=true,usenamec=true, + pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true, + citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true, + usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false, + dateuncertain=true,timezones=true,compressyears=true, ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates, uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false, abbreviate=false,dateabbrev=false,avdate=true}} \def\cms@authordateold{% - \RequirePackage[style=chicago-authordate15]{biblatex}% + \RequirePackage[style=chicago-authordate16]{biblatex}% \ExecuteBibliographyOptions{% - pagetracker=true,autocite=inline,alldates=comp, - uniquename=minfull,useeditor=true,usetranslator=true,usecompiler=true, + pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true, + citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true, + usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false, + dateuncertain=true,timezones=true,compressyears=true, ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates, - uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false}} + uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false, + abbreviate=false,dateabbrev=false,avdate=true}} \def\cms@notesold{% - \RequirePackage[style=chicago-notes15]{biblatex}% + \RequirePackage[style=chicago-notes16]{biblatex}% \ExecuteBibliographyOptions{% pagetracker=true,autocite=footnote,abbreviate=false,alldates=comp, citetracker=true,ibidtracker=constrict,usetranslator=true, - usecompiler=true,loccittracker=constrict,dateabbrev=false, - maxbibnames=10,minbibnames=7}} + usenamec=true,loccittracker=constrict,dateabbrev=false, + maxbibnames=10,minbibnames=7,sorting=cms,sortcase=false, + labeltitle=true,alltimes=12h,urltime=24h,timezones=true, + datezeros=false,datecirca=true,dateuncertain=true,compressyears=true, + nodates=true}} + +\def\cms@authordatetrold{% + \RequirePackage[style=chicago-authordate-trad16]{biblatex}% + \ExecuteBibliographyOptions{% + pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true, + citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true, + usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false, + dateuncertain=true,timezones=true,compressyears=true, + ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates, + uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false, + abbreviate=false,dateabbrev=false,avdate=true}} \csuse{cms@\cms@style} \undef\cms@authordate @@ -99,18 +125,65 @@ \undef\cms@authordatetrad \undef\cms@authordateold \undef\cms@notesold +\undef\cms@authordatetrold \expandafter\ExecuteBibliographyOptions\expandafter{\cms@options} \setlength{\bibitemsep}{0.5\baselineskip plus 0.5\baselineskip} \setlength{\bibhang}{2em} \setlength{\lositemsep}{0.25\baselineskip plus 0.25\baselineskip} +\urlstyle{rm} \setcounter{biburllcpenalty}{5000} \setcounter{biburlucpenalty}{9000} \setcounter{biburlnumpenalty}{9000} +\setcounter{mincomprange}{100}% +\setcounter{mincompwidth}{10}% \renewcommand*{\bibnamedash}{\rule[.4ex]{3em}{.6pt}} +\iftoggle{cms@urlbreak} +{\renewcommand*{\biburlsetup}{% + \Urlmuskip\biburlbigskip + \mathchardef\UrlBigBreakPenalty=\value{biburlbigbreakpenalty}\relax + \mathchardef\UrlBreakPenalty=\value{biburlbreakpenalty}\relax + \def\UrlBigBreaks{\do\:}% + \def\UrlBreaks{% + \do\@\do\\\do\!\do\|\do\;\do\>\do\]\do\)\do\}% + \do\'\do\+\do\=\do\$\do\&\do\*\do\^\do\"}% + \ifnumgreater{\value{biburlnumpenalty}}{0} + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburlnumskip + \penalty\value{biburlnumpenalty}}}}% + \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0} + {}% + \ifnumgreater{\value{biburlucpenalty}}{0} + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburlucskip + \penalty\value{biburlucpenalty}}}}% + \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J + \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T + \do\U\do\V\do\W\do\X\do\Y\do\Z} + {}% + \ifnumgreater{\value{biburllcpenalty}}{0} + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburllcskip + \penalty\value{biburllcpenalty}}}}% + \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j + \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t + \do\u\do\v\do\w\do\x\do\y\do\z} + {}% + \let\do=\noexpand}}% +{} + \iftoggle{cms@nomark} {} {\@ifclassloaded{memoir}% @@ -141,6 +214,7 @@ \DeclareLanguageMapping{brazilian}{cms-brazilian} \DeclareLanguageMapping{british}{cms-british} +\DeclareLanguageMapping{dutch}{cms-dutch} \DeclareLanguageMapping{german}{cms-german} \DeclareLanguageMapping{french}{cms-french} \DeclareLanguageMapping{finnish}{cms-finnish} @@ -152,4 +226,38 @@ \ifundef\bbl@loaded{\let\bbl@loaded\@empty}{}% For old versions of babel +\patchcmd{\blx@comprange@check}% Audrey Boruvka's code from StackExchange +{\blx@comprange@comp{#1}{#2}}% Moved here from cbx +{\blx@tempcnta=#1 + \divide\blx@tempcnta100 + \multiply\blx@tempcnta100 + \ifnumequal{\blx@tempcnta}{#1} + {\blx@range@out@value{#1\bibrangedash#2}} + {\blx@comprange@comp{#1}{#2}}} +{}{}% + +\newrobustcmd*{\suppressbibfield}[2][]{% + \ifblank{#1}% + {\ifblank{#2}% + {}% + {\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \renewcommand*{\do}[1]{ + \step[fieldset=##1, null]}\docsvlist{#2}}}}}}% + {\ifblank{#2}% + {\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \renewcommand*{\do}[1]{% + \pertype{##1}}\docsvlist{#1}% + \step[entrynull]}}}}% + {\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \renewcommand*{\do}[1]{% + \pertype{##1}}\docsvlist{#1}% + \renewcommand*{\do}[1]{% + \step[fieldset=##1, null]}\docsvlist{#2}}}}}}} + \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx index d48dec31cf1..9919887ea20 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx @@ -1,19 +1,23 @@ -% $Id: chicago-authordate-trad.cbx,v 0.9.1.4 2018/01/11 09:55:09 dfussner Exp $ +% This is a biblatex citation style file, originally adapted from +% Lehman's authoryear-comp.cbx. It is heavily modified, with the +% intention of providing inline citations (and a reference list) for +% the author-date (trad) style of the Chicago Manual of Style, 17th +% edition. -% This is a biblatex citation style file, adapted from Lehman's -% authoryear-comp.cbx. It is heavily modified, with the intention of -% providing inline citations (and a reference list) for the -% author-date (trad) style of the Chicago Manual of Style, 16th edition. - -\ProvidesFile{chicago-authordate-trad.cbx}[2018/01/11 v 3.10 biblatex +\ProvidesFile{chicago-authordate-trad.cbx}[2020/04/20 v 3.14 biblatex citation style] \RequireCitationStyle{chicago-dates-common} %%%% Trad-only Option %%%% -\DeclareBibliographyOption{headline}[true]{% - \renewcommand{\MakeSentenceCase}{\@ifstar\relax\relax}} +\providetoggle{cms@headline}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{headline}[true]{% + \settoggle{cms@headline}{#1}% + \iftoggle{cms@headline}% + {\renewcommand{\MakeSentenceCase}{\@ifstar\relax\relax}}% + {}} %%%% Field Formats -- Title, Citetitle, Lostitle %%%% @@ -26,33 +30,33 @@ citation style] \DeclareFieldFormat{subtitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot} \DeclareFieldFormat -[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +[article,inbook,incollection,inproceedings,online,thesis,unpublished] {title}{% \iffieldundef{title}% {}% {\MakeSentenceCase*{#1}}} \DeclareFieldFormat -[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +[article,inbook,incollection,inproceedings,online,thesis,unpublished] {citetitle}{\MakeSentenceCase*{#1}} \DeclareFieldFormat -[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +[article,inbook,incollection,inproceedings,online,thesis,unpublished] {lostitle}{\MakeSentenceCase*{#1}} \DeclareFieldFormat -[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +[article,inbook,incollection,inproceedings,online,thesis,unpublished] {subtitle}{% \iffieldundef{subtitle}% {}% {\MakeSentenceCase*{#1}}} -\DeclareFieldFormat[artwork,image]{title}{% +\DeclareFieldFormat[artwork,image,inreference]{title}{% \iffieldundef{entrysubtype}% {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% {\MakeSentenceCase*{#1}\isdot}} -\DeclareFieldFormat[artwork,image]{subtitle}{% +\DeclareFieldFormat[artwork,image,inreference]{subtitle}{% \iffieldundef{entrysubtype}% {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% {\MakeSentenceCase*{#1}\isdot}} @@ -73,6 +77,10 @@ citation style] \DeclareFieldAlias[image]{lostitle}[artwork]{title} +\DeclareFieldAlias[inreference]{citetitle}[artwork]{title} + +\DeclareFieldAlias[inreference]{lostitle}[artwork]{title} + \DeclareFieldFormat[letter]{title}{#1\isdot} \DeclareFieldFormat[letter]{citetitle}{#1\isdot} @@ -149,12 +157,31 @@ citation style] \DeclareFieldFormat{mainsubtitle}{\mkbibemph{\MakeSentenceCase*{#1}}} +\DeclareFieldFormat[article,periodical,review,suppperiodical]{maintitle}{% + \mkbibemph{#1}\isdot} + +\DeclareFieldFormat[article,periodical,review,suppperiodical]{mainsubtitle}{% + \mkbibemph{#1}\isdot} + \DeclareFieldFormat[audio,music,video]{title}{% - \iffieldundef{booktitle}% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% {\MakeSentenceCase*{#1}\isdot}} -\DeclareFieldAlias[video]{citetitle}[video]{title} +\DeclareFieldFormat[video]{citetitle}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}}} \DeclareFieldAlias[video]{lostitle}[video]{title} @@ -255,6 +282,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \mkbibemph{\MakeSentenceCase*{#1}}} @@ -268,6 +300,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \MakeSentenceCase*{#1}} @@ -281,6 +318,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \mkbibemph{#1}} @@ -294,6 +336,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{\bibstring{chapter}}% \endgroup \bibstring{chapter}~#1\addspace\bibstring{in}} @@ -307,10 +354,33 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{\bibstring{chapter}}% \endgroup \bibstring{chapter}~#1} +\DeclareFieldFormat{muschapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{track}}% + \endgroup + \bibstring{track}~#1}% + \DeclareFieldFormat{sjtnoformat}{#1} \DeclareFieldFormat{stnoformat}{#1} \DeclareFieldFormat{jtnoformat}{#1} @@ -325,15 +395,15 @@ citation style] {\iffieldundef{issuetitle}% {\iffieldundef{title}% {\iffieldundef{booktitle}% - {\iffieldundef{maintitle}% - {\iffieldundef{journaltitle}% + {\iffieldundef{journaltitle}% + {\iffieldundef{maintitle}% {}% - {\DeclareFieldAlias{jtnoformat}{jtitle:hook}% - \DeclareFieldAlias{sjtnoformat}{title}% - \DeclareFieldAlias{journaltitle}{default}% - \DeclareFieldAlias{shortjournal}{series}% - \DeclareFieldAlias{jtsnoformat}{jtitle:hook}}}% - {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\DeclareFieldAlias{jtnoformat}{jtitle:hook}% + \DeclareFieldAlias{sjtnoformat}{title}% + \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{jtsnoformat}{jtitle:hook}}}% {\DeclareFieldAlias{booktitle}{title:hook}}}% {\DeclareFieldAlias{tnoformat}{jtitle:hook}% \DeclareFieldAlias{stnoformat}{citetitle}% @@ -346,7 +416,9 @@ citation style] {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% - {\DeclareFieldAlias{chapter}{avchapter:hook}}% + {\ifentrytype{music}% + {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}% + {\DeclareFieldAlias{chapter}{avchapter:hook}}}% {\DeclareFieldAlias[video]{title}{title:hook}% \DeclareFieldAlias[audio]{title}{title:hook}% \DeclareFieldAlias[music]{title}{title:hook}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.bbx new file mode 100644 index 00000000000..9b91b51d5ec --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.bbx @@ -0,0 +1,5 @@ +\ProvidesFile{chicago-authordate-trad16.bbx} + +\RequireBibliographyStyle{chicago-authordate16} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.cbx new file mode 100644 index 00000000000..a090b604eb8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.cbx @@ -0,0 +1,378 @@ +% This is a biblatex citation style file, adapted from Lehman's +% authoryear-comp.cbx. It is heavily modified, with the intention of +% providing inline citations (and a reference list) for the +% author-date (trad) style of the Chicago Manual of Style, 16th edition. + +\ProvidesFile{chicago-authordate-trad16.cbx}[2020/04/20 v 3.14 biblatex +citation style] + +\RequireCitationStyle{chicago-dates-common16} + +%%%% Trad-only Option %%%% + +\DeclareBibliographyOption{headline}[true]{% + \renewcommand{\MakeSentenceCase}{\@ifstar\relax\relax}} + +%%%% Field Formats -- Title, Citetitle, Lostitle %%%% + +\DeclareFieldFormat{title}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldFormat{citetitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldFormat{lostitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldFormat{subtitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +{title}{% + \iffieldundef{title}% + {}% + {\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +{citetitle}{\MakeSentenceCase*{#1}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +{lostitle}{\MakeSentenceCase*{#1}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,patent,thesis,unpublished] +{subtitle}{% + \iffieldundef{subtitle}% + {}% + {\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat[artwork,image]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}} + +\DeclareFieldFormat[artwork,image]{subtitle}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}} + +\DeclareFieldAlias[artwork]{citetitle}[artwork]{title} + +\DeclareFieldAlias[artwork]{lostitle}[artwork]{title} + +\DeclareFieldFormat[periodical]{title}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{citetitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{lostitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{subtitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldAlias[image]{citetitle}[artwork]{title} + +\DeclareFieldAlias[image]{lostitle}[artwork]{title} + +\DeclareFieldFormat[letter]{title}{#1\isdot} + +\DeclareFieldFormat[letter]{citetitle}{#1\isdot} + +\DeclareFieldFormat[letter]{lostitle}{#1\isdot} + +\DeclareFieldFormat[letter]{subtitle}{#1\isdot} + +\DeclareFieldFormat[suppbook,suppcollection]{title}{% + \mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldAlias[suppbook]{citetitle}[suppbook]{lostitle} + +\DeclareFieldFormat[suppbook,suppcollection]{lostitle}{% + \usebibmacro{inforaft}% + \addspace% + \mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldFormat[suppbook,suppcollection]{subtitle}{% + \mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldAlias[suppcollection]{citetitle}[suppbook]{lostitle} + +\DeclareFieldFormat[misc]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldAlias[misc]{citetitle}[misc]{title} + +\DeclareFieldAlias[misc]{lostitle}[misc]{title} + +\DeclareFieldFormat[misc]{subtitle}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldFormat[report]{title}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\MakeSentenceCase*{#1}}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}}% + +\DeclareFieldFormat[report]{citetitle}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\MakeSentenceCase*{#1}}% + {\mkbibemph{\MakeSentenceCase{#1}}\isdot}} + +\DeclareFieldFormat[report]{lostitle}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\MakeSentenceCase*{#1}}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}} + +\DeclareFieldFormat[review,suppperiodical]{title}{% + \ifcapital{\MakeCapital{#1\isdot}}% + {#1\isdot}} + +\DeclareFieldAlias[review]{lostitle}[review]{title} + +\DeclareFieldAlias[review]{citetitle}[review]{title} + +\DeclareFieldAlias[suppperiodical]{citetitle}[review]{title} + +\DeclareFieldAlias[suppperiodical]{lostitle}[review]{title} + +\DeclareFieldFormat[review,suppperiodical]{subtitle}{% + \ifcapital{\MakeCapital{#1\isdot}}% + {#1\isdot}} + +\DeclareFieldFormat{booktitle}{\mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat{maintitle}{\mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat{booksubtitle}{\mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat{mainsubtitle}{\mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat[audio,music,video]{title}{% + \iffieldundef{booktitle}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}} + +\DeclareFieldAlias[video]{citetitle}[video]{title} + +\DeclareFieldAlias[video]{lostitle}[video]{title} + +\DeclareFieldAlias[music]{citetitle}[video]{title} + +\DeclareFieldAlias[music]{lostitle}[video]{title} + +\DeclareFieldAlias[audio]{citetitle}[video]{title} + +\DeclareFieldAlias[audio]{lostitle}[video]{title} + +\DeclareFieldFormat[audio,music,video]{subtitle}{% + \iffieldundef{booktitle}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}} + +\DeclareFieldFormat{issuetitle}{\MakeSentenceCase*{#1\isdot}} + +\DeclareFieldFormat{issuesubtitle}{\MakeSentenceCase*{#1\isdot}} + +%%%% Formatting macros, called both by cbx and bbx %%%% + +\newbibmacro*{video+title}{% + \iffieldundef{title}% + {}% + {\printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}}} + +\newbibmacro*{italtitle+stitle}{% + \printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock} + +\newbibmacro*{mag+news+title}{% + \printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}% + \setunit{\ptitleaddonpunct}%\setunit{\addcomma\addspace} + \ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\printfield{titleaddon}}% + }%\newcunit\newblock + +\newbibmacro*{issuetitle}{% + \iffieldundef{issuetitle}% + {}% + {\ifthenelse{\ifentrytype{article}\OR% + \ifentrytype{review}\OR% + \ifentrytype{suppperiodical}}% This test is for + {\usebibmacro{cms-in:}}% periodical entries + {}% + \printtext{% + \printfield{issuetitle}% + \setunit{\subtitlepunct}% + \printfield[issuesubtitle]{issuesubtitle}}}} + +%%%% Related macros that can't reside in common.cbx %%%% + +\newbibmacro*{related:reviewof}[1]{% + \entrydata*{#1}{% + \let\newunit\newcunit% FIXME?? + \iffieldundef{title}% + {}% + {\printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}}% + \newcunit% + \ifnameundef{author}% + {\newcunit% + \usebibmacro{byeditor+others}}% + {\bibstring{by}\addspace% + \printnames[byauthor]{author}% + \newcunit\usebibmacro{byeditor+others}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}}} + +\DeclareFieldFormat{title:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat{ititle:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \MakeSentenceCase*{#1}} + +\DeclareFieldFormat{jtitle:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \mkbibemph{#1}} + +\DeclareFieldFormat{chapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{chapter}}% + \endgroup + \bibstring{chapter}~#1\addspace\bibstring{in}} + +\DeclareFieldFormat{avchapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{chapter}}% + \endgroup + \bibstring{chapter}~#1} + +\DeclareFieldFormat{sjtnoformat}{#1} +\DeclareFieldFormat{stnoformat}{#1} +\DeclareFieldFormat{jtnoformat}{#1} +\DeclareFieldFormat{jtsnoformat}{#1} +\DeclareFieldFormat{tnoformat}{#1} + +\newbibmacro*{cms:titlehook}{% Needed for the full drivers in reprintfrom + \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR% + \ifentrytype{inbook}\OR\ifentrytype{incollection}\OR% + \ifentrytype{inproceedings}\OR\ifentrytype{letter}\OR% + \ifentrytype{music}\OR\ifentrytype{video}\)}% + {\iffieldundef{issuetitle}% + {\iffieldundef{title}% + {\iffieldundef{booktitle}% + {\iffieldundef{maintitle}% + {\iffieldundef{journaltitle}% + {}% + {\DeclareFieldAlias{jtnoformat}{jtitle:hook}% + \DeclareFieldAlias{sjtnoformat}{title}% + \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{jtsnoformat}{jtitle:hook}}}% + {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\DeclareFieldAlias{booktitle}{title:hook}}}% + {\DeclareFieldAlias{tnoformat}{jtitle:hook}% + \DeclareFieldAlias{stnoformat}{citetitle}% + \DeclareFieldAlias[video]{title}{title:hook}% + \DeclareFieldAlias[audio]{title}{title:hook}% + \DeclareFieldAlias[music]{title}{title:hook}% + \DeclareFieldAlias{title}{title:hook}% + \DeclareFieldAlias[periodical]{shorttitle}{series}}}% + {\DeclareFieldAlias{issuetitle}{ititle:hook}}}% + {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}}% + {\iffieldundef{title}% + {\DeclareFieldAlias{chapter}{avchapter:hook}}% + {\DeclareFieldAlias[video]{title}{title:hook}% + \DeclareFieldAlias[audio]{title}{title:hook}% + \DeclareFieldAlias[music]{title}{title:hook}}}% + {\DeclareFieldAlias{chapter}{chapter:hook}}}}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx index 7032fd8b019..b5e787803e6 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx @@ -1,10 +1,8 @@ -% $Id: chicago-authordate.bbx,v 0.9.1.13 2018/01/11 09:25:52 dfussner Exp $ - -% This is a biblatex style file, adapted mainly from Lehman's -% standard.bbx and from chicago-notes.bbx. It provides the +% This is a biblatex style file, originally adapted mainly from +% Lehman's standard.bbx and from chicago-notes.bbx. It provides the % reference list formatting for the Chicago author-date style. -\ProvidesFile{chicago-authordate.bbx}[2018/01/11 v 3.10 biblatex +\ProvidesFile{chicago-authordate.bbx}[2020/04/20 v 3.14 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -14,7 +12,13 @@ bibliography style] \DeclareFieldFormat{shorthandwidth}{#1} -\DeclareFieldFormat{shortjournalwidth}{\mkbibemph{\textbf{#1}}\isdot} +\DeclareFieldFormat{shortserieswidth}{#1} + +\DeclareFieldFormat{shortjournalwidth}{% + \ifthenelse{\ifentrytype{jurisdiction}\OR% + \ifentrytype{legal}\OR\ifentrytype{legislation}}% + {\textbf{#1}\isdot}% + {\mkbibemph{\textbf{#1}}\isdot}}% \newlength{\lositemsep} @@ -28,19 +32,6 @@ bibliography style] {\endlist} {\item} -\defbibenvironment{shorthands}% biblatex < 2.9 - {\list - {\printfield[shorthandwidth]{shorthand}}% - {\setlength{\labelwidth}{\shorthandwidth}% - \setlength{\leftmargin}{\labelwidth}% - \setlength{\labelsep}{\biblabelsep}% - \addtolength{\leftmargin}{\labelsep}% - \setlength{\itemsep}{\lositemsep}% - \setlength{\parsep}{\bibparsep}% - \renewcommand*{\makelabel}[1]{##1\hss}}} - {\endlist} - {\item} - \defbibenvironment{shorthand} {\list {\printfield[shorthandwidth]{shorthand}}% @@ -123,6 +114,15 @@ bibliography style] {\endlist\nopunct\vspace{-\baselineskip}} {\item} +\defbibcheck{shorthand}{% + \iftoggle{cms@los}% + {\iffieldundef{shorthand}% + {\skipentry}% + {\ifcsdef{\strfield{shorthand}}% + {\skipentry}% + {\savefieldcs{shorthand}{\strfield{shorthand}}}}}% + {}}% + \defbibcheck{shortjournal}{% Only one list \iffieldundef{shortjournal}% {\skipentry}% @@ -138,20 +138,65 @@ bibliography style] % {\savefield{shortjournal}{\cms@shjour}}}% % {\savefield{shortjournal}{\cms@shjour}}} +\defbibenvironment{shortseries}% + {\list + {\printfield[shortserieswidth]{shortseries}}% + {\setlength{\labelwidth}{\shortserieswidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.7\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{shsernotes}% + {\list + {\printfield[shortserieswidth]{shortseries}}% + {\footnotesize% + \setlength{\labelwidth}{\shortserieswidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{shserendnotes}% + {\list + {\printfield[shortserieswidth]{shortseries}}% + {\enotesize% + \setlength{\labelwidth}{\shortserieswidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist\nopunct\vspace{-\baselineskip}} + {\item} + +\defbibcheck{shortseries}{% Only one list + \ifthenelse{\iffieldundef{shortseries}\OR% + \iffieldundef{series}\OR% + \iffieldsequal{series}{shortseries}}% + {\skipentry}% + {\ifcsdef{\strfield{shortseries}}% + {\skipentry}% + {\savefieldcs{shortseries}% + {\strfield{shortseries}}}}}% + \AtBeginBibliography{% \togglefalse{cms@headlessnote}}% \AtEveryBibitem{% - \global\csundef{@cmsst}% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}}% + \global\csundef{@cmsst}}% \AtEveryLositem{% - \global\csundef{@cmsst}% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}}% + \global\csundef{@cmsst}}% \AtEveryBiblistitem{shortjournal}{% \global\csundef{@cmsst}% @@ -234,7 +279,7 @@ bibliography style] and test {\ifdefvoid{#3}}% }% - {}{\revsdnamepunct}% + {}{\revsdnamepunct}% \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}% \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}% @@ -290,28 +335,50 @@ bibliography style] \newbibmacro*{justauthor}{% \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% {\let\bbx@lasthash\undefined}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% {\iffieldundef{nameaddon}% - {\bibnamedash\addperiod\addspace}% - {\bibnamedash\addspace}}% + {\printtext{\bibnamedash}}% + {\printtext{\bibnamedash}% + \ifentrytype{customc}% + {\newunit}% + {\setunit{\addspace}}\printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% {\bibleftbracket\printnames{author}\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% {\iffieldequalstr{authortype}{anon?}% {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% - {\printnames{author}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames{author}% + \ifentrytype{customc}{}% + {\setunit{\addspace}\printfield{nameaddon}}\bibcloseparen% + \ifentrytype{customc}% + {\newunit\printfield{nameaddon}}% + {}}% + {\printnames{author}% + \ifentrytype{customc}{\newunit}{\setunit{\addspace}}% + \printfield{nameaddon}}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{moreauthor}{% \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% {\usebibmacro{pickeditor}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% {\iffieldundef{nameaddon}% - {\bibnamedash\addperiod\addspace}% - {\bibnamedash\addspace}}% + {\printtext{\bibnamedash}}% + {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% {\bibleftbracket\printnames{author}\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% @@ -319,8 +386,11 @@ bibliography style] {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% {\iftoggle{cms@authorparens}% - {\bibopenparen\printnames{author}\bibcloseparen}% - {\printnames{author}}% + {\bibopenparen\printnames{author}% + \setunit{\addspace}\printfield{nameaddon}\bibcloseparen}% + {\printnames{author}% + \setunit{\addspace}% + \printfield{nameaddon}}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{pickeditor}{% @@ -331,15 +401,26 @@ bibliography style] \newbibmacro*{moreeditor}{% \ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% {\usebibmacro{picktranslator}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\editordelim}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames{editor}% + \setunit{\addspace}\printfield{nameaddon}% \bibcloseparen\editordelim}% - {\printnames{editor}\editordelim}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim}% \savefield{fullhash}{\bbx@lasthash}}% - \usebibmacro{editstrg}}} + \usebibmacro{editstrg}}}% \renewbibmacro*{editor}{% \iftoggle{cms@headlessnote}% @@ -347,35 +428,68 @@ bibliography style] {\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% {\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% {\usebibmacro{picktranslator}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\editordelim}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames{editor}% + \setunit{\addspace}\printfield{nameaddon}% \bibcloseparen\editordelim}% - {\printnames{editor}\editordelim}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{editstrg}}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\nameadelim}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\nameadelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{namea}% + \setunit{\addspace}\printfield{nameaddon}% \bibcloseparen\nameadelim}% - {\printnames[sortname]{namea}\nameadelim}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}}} \newbibmacro*{parteditor}{% \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% {\usebibmacro{picktranslator}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\nameadelim}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addcomma}% + \printfield{nameaddon}\nameadelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{namea}% + \setunit{\addspace}\printfield{nameaddon}% \bibcloseparen\nameadelim}% - {\printnames[sortname]{namea}\nameadelim}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}} @@ -387,39 +501,72 @@ bibliography style] \newbibmacro*{moretranslator}{% \ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}% {\usebibmacro{compiler}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\addcomma\addspace}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{translator}% - \bibcloseparen\addcomma\addspace}% - {\printnames[sortname]{translator}\addcomma\addspace}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\newcunit}% + {\printnames[sortname]{translator}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{transstrg}}} \newbibmacro*{parttranslator}{% \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% {\usebibmacro{compiler}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\addcomma\addspace}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{nameb}% - \bibcloseparen\addcomma\addspace}% - {\printnames[sortname]{nameb}\addcomma\addspace}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\newcunit}% + {\printnames[sortname]{nameb}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parttransstrg}}} \newbibmacro*{compiler}{% \ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}% {\let\bbx@lasthash\undefined}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\addcomma\addspace}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addcomma}% + \printfield{nameaddon}\newcunit}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{namec}% - \bibcloseparen\addcomma\addspace}% - {\printnames[sortname]{namec}\addcomma\addspace}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\newcunit}% + {\printnames[sortname]{namec}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{compilestrg}}} @@ -439,34 +586,20 @@ bibliography style] \usebibmacro{shorthand:label}}% {\mkbibemph{\bibstring{see}}% \addspace% - \usebibmacro{author/editor}}% - \finentry}% - {\iftoggle{cms@fullshhand}% - {\usedriver{\frenchspacing}% - {\thefield{entrytype}}% - \finentry}% - {\ifnameundef{labelname}% - {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% - \ifentrytype{periodical}}% - {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% - \newcunit}}% - {\ifentrytype{manual}% - {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% - {}}}% - {\usebibmacro{author/editor}% - \setunit{\addcomma\space}}% - \printfield[lostitle]{title}% - \finentry}}} - -\DeclareBibliographyDriver{shorthands}{% biblatex < 2.9 - \iftoggle{cms@los}% - {\ifnameundef{labelname}% - {\mkbibemph{\bibstring{see}}% - \addspace% - \usebibmacro{shorthand:label}}% - {\mkbibemph{\bibstring{see}}% - \addspace% - \usebibmacro{author/editor}}% + \ifboolexpr{% + test {\iffieldequalstr{labelnamesource}{shortauthor}}% + and + ( + test {\ifentrytype{manual}}% + or + test {\ifentrytype{standard}}% + ) + }% + {\printnames{\thefield{labelnamesource}}}% + {\ifentrytype{customc}% + {\clearfield{nameaddon}}% + {}% + \usebibmacro{author/editor}}}% \finentry}% {\iftoggle{cms@fullshhand}% {\usedriver{\frenchspacing}% @@ -480,8 +613,19 @@ bibliography style] {\ifentrytype{manual}% {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% {}}}% - {\usebibmacro{author/editor}% - \setunit{\addcomma\space}}% + {\ifboolexpr{% + test {\iffieldequalstr{labelnamesource}{shortauthor}}% + and + ( + test {\ifentrytype{manual}}% + or + test {\ifentrytype{standard}}% + ) + }% + {\printnames{\thefield{labelnamesource}}\newunit}% + {\ifentrytype{customc}% + {\usebibmacro{justauthor}\setunit{\addspace}}% + {\usebibmacro{author/editor}\newunit}}}% \printfield[lostitle]{title}% \finentry}}} @@ -501,6 +645,9 @@ bibliography style] \printlist[periodplace]{location}}% \finentry}% +\DeclareBibliographyDriver{shortseries}{% + \printfield{series}\finentry} + \DeclareStyleSourcemap{ \maps[datatype=bibtex]{ \map{ @@ -509,9 +656,11 @@ bibliography style] \step[fieldset=shortjournal, origfieldval] } \map{ - \step[fieldsource=pubstate, match={forthcoming}, final] + \step[fieldsource=pubstate, + match=\regexp{forthcoming|inpreparation|submitted|inpress}, final] \step[fieldset=year, origfieldval, final] - \step[fieldsource=year, match=\regexp{(forthcoming)}, + \step[fieldsource=year, + match=\regexp{(forthcoming|inpreparation|submitted|inpress)}, replace=\regexp{\\bibstring\{$1\}}]%$ \step[fieldset=pubstate, null] } @@ -582,7 +731,78 @@ bibliography style] match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ final] \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] - } + } + \map{ + \pertype{standard} + \step[notfield=author, final] + \step[fieldsource=organization, final] + \step[fieldsource=organization, match=\regexp{(.*)}] + \step[fieldset=shortauthor, fieldvalue=\regexp{{$1}}]%$ + } + \map{ + \pertype{manual} + \step[notfield=author, final] + \step[notfield=editor, final] + \step[fieldsource=organization, final] + \step[fieldsource=organization, match=\regexp{(.*)}] + \step[fieldset=shortauthor, fieldvalue=\regexp{{$1}}]%$ + } + \map[overwrite]{ + \pertype{review} + \pertype{online} + \pertype{suppperiodical} + \step[fieldsource=relatedtype, match=\regexp{commenton}, final] + \step[fieldsource=options, final] + \step[fieldsource=options, notmatch=\regexp{skipbib|cmsdate}, final] + \step[fieldset=options, fieldvalue={,skipbib,cmsdate=full}, + append] + \step[notfield=verbc, final] + \step[fieldsource=entrykey] + \step[fieldset=verbc, origfieldval] + } + \map{ + \pertype{review} + \pertype{online} + \pertype{suppperiodical} + \step[fieldsource=relatedtype, match=\regexp{commenton}, final] + \step[notfield=options, final] + \step[fieldset=options, fieldvalue={skipbib,cmsdate=full}] + \step[fieldsource=entrykey] + \step[fieldset=verbc, origfieldval] + } + \map{ + \pertype{review} + \pertype{online} + \pertype{suppperiodical} + \step[fieldsource=relatedtype, match=\regexp{commenton}, final] + \step[fieldsource=related, match=\regexp{(.*)}] + \step[entrynew=$1-customc, entrynewtype=customc]%$ + \step[fieldset=options, fieldvalue={skipbib,authortitle}, + entrytarget=$1-customc]%$ + \step[fieldset=pubstate, fieldvalue=cms-generated, + entrytarget=$1-customc]%$ + \step[fieldsource=relatedtype] + \step[fieldsource=relatedstring] + \step[fieldset=title, origfieldval, entrytarget=$1-customc]%$ + } + \map{ + \pertype{video} + \step[fieldsource=entrysubtype, match=tvepisode, final] + \step[fieldsource=title, final] + \step[fieldsource=booktitle, final] + \step[fieldset=sorttitle, origfieldval] + } + \map[overwrite]{% Backward compatibility kludges + \step[fieldsource=year, + match=\regexp{^\[(.+)\](.*)}, + replace=\regexp{\[$1\]\\midsentence$2}] + \step[fieldsource=year, + match=\regexp{^\\bibopenbracket\s*(.+)\\bibclosebracket(.*)}, + replace=\regexp{\[$1\]\\midsentence$2}] + \step[fieldsource=year, + match=\regexp{^\\mkbibbrackets\{(.+)\}(.*)}, + replace=\regexp{\[$1\]\\midsentence$2}] + } } }% @@ -590,8 +810,6 @@ bibliography style] \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{mag+news+author}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{cmsbibsortdate}% \newunit\newblock @@ -607,10 +825,12 @@ bibliography style] \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock% 17th ed. clarifies punctuation \printfield{note}% \setunit*{\addcomma\addspace}\newblock% \usebibmacro{mag+news+date}% + \newunit\newblock + \printfield{type}% \newcunit\newblock \usebibmacro{chap+pag}% \newunit\newblock @@ -639,8 +859,6 @@ bibliography style] \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}% \usebibmacro{cmsbibsortdate}% @@ -657,10 +875,12 @@ bibliography style] \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock% 17th ed. \printfield{note}% \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? - \usebibmacro{journal+issue+year+pages}% + \iftoggle{cms@switchdates}% + {\usebibmacro{journal+issue+year+pages}{orig}}% + {\usebibmacro{journal+issue+year+pages}{}}% \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock @@ -690,26 +910,23 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% - \usebibmacro{cmsbibsortdate}% + \usebibmacro{cmscitesortdate}% 17th ed. ?? \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% - \newcunit\newblock - \usebibmacro{date}% + \newunit\newblock + \usebibmacro{artwork+dates}% \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \usebibmacro{bibreprint}% - \printfield{howpublished}% \newunit\newblock \printfield{type}% \newcunit\newblock - \printfield{version}% + \printfield[type]{version}% \newcunit\newblock \printfield{note}% \newunit\newblock @@ -717,6 +934,10 @@ bibliography style] \setunit*{\addcomma\addspace}\newblock \printlist{location}% \newunit\newblock + \printfield{howpublished}% + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% + \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock \printfield{addendum}% @@ -737,8 +958,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% @@ -758,7 +977,11 @@ bibliography style] \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% - \newcunit%\setunit{\addperiod\addspace}% + \newunit\newblock + \usebibmacro{music+eventdate}% 17th ed. + \iffieldundef{eventyear}% + {\newcunit}% + {\newunit}% \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}% \iffieldundef{booktitle}% @@ -767,7 +990,7 @@ bibliography style] \iffieldundef{edition}% {}% {\usebibmacro{edition}}% - \newunit% unit, not cunit? + \usebibmacro{editorpunct}%\newunit% unit, not cunit? \usebibmacro{bybookauthor}% \usebibmacro{byeditor+others}% \newunit% ??? Editorpunct maybe not right here? @@ -834,8 +1057,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -845,7 +1066,9 @@ bibliography style] \iffieldundef{maintitle}% {\iffieldundef{edition}% {}% - {\usebibmacro{edition}}}% + {\usebibmacro{edition}}% + \setunit*{\addcomma\addspace}% + \usebibmacro{version}}% {}% \newunit\newblock% 16th ed. \usebibmacro{byauthor}% @@ -867,6 +1090,10 @@ bibliography style] \iffieldundef{edition}% {}% {\usebibmacro{edition}}% + \newcunit + \iffieldundef{version}% + {}% + {\printfield{version}} \usebibmacro{editorpunct}% \usebibmacro{byeditor+others}% \usebibmacro{editorpunct}% @@ -888,6 +1115,8 @@ bibliography style] \newcunit\newblock \printlist[][-\value{listtotal}]{lista}% \newunit\newblock + \printfield{type}% + \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock \printfield{addendum}% @@ -948,8 +1177,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1059,8 +1286,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1096,8 +1321,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1193,37 +1416,104 @@ bibliography style] \DeclareBibliographyDriver{customc}{% \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{justauthor}% + \iffieldundef{nameaddon}% + {\newunit}% + {\setunit{\addspace}}% + \usebibmacro{italtitle+stitle}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{dataset}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock - \printfield{nameaddon}% - \setunit*{\addspace}% - \usebibmacro{italtitle+stitle}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock% + \printtext[parens]{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \setunit{\addspace}\newblock% + \ifthenelse{\iffieldundef{howpublished}\AND% + \iffieldundef{number}\AND\iffieldundef{type}}% + {}% + {\printtext[parens]{% + \printfield{howpublished}% + \newcunit + \printfield{type}% + \setunit{\addspace}% + \printfield{number}}}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \setunit{\addsemicolon\addspace}% + \printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{date}% + \clearfield{urlyear}\clearfield{urlmonth}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% \usebibmacro{finentry}} \DeclareBibliographyDriver{image}{% \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% - \usebibmacro{cmsbibsortdate}% + \usebibmacro{cmscitesortdate}% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% - \setunit*{\addcomma\addspace}% 16th ed. added * (?) - \usebibmacro{date}% + \newunit\newblock% 16th ed. added * (?) + \usebibmacro{artwork+dates}% \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \usebibmacro{bibreprint}% - \printfield{howpublished}% \newunit\newblock \printfield{type}% \newcunit\newblock - \printfield{version}% + \printfield[type]{version}% \newcunit\newblock \printfield{note}% \newunit\newblock @@ -1231,6 +1521,10 @@ bibliography style] \setunit*{\addcomma\addspace}\newblock \printlist{location}% \newunit\newblock + \printfield{howpublished}% + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% + \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock \printfield{addendum}% @@ -1251,8 +1545,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1354,8 +1646,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1457,8 +1747,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1798,8 +2086,6 @@ bibliography style] \DeclareBibliographyDriver{legal}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% @@ -1865,8 +2151,6 @@ bibliography style] \iffieldequalstr{entrysubtype}{uk}% FIXME? {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% @@ -1930,8 +2214,6 @@ bibliography style] {\iffieldequalstr{entrysubtype}{hansard}% FIXME? {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% @@ -1988,8 +2270,6 @@ bibliography style] \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% @@ -2063,8 +2343,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{cmsbibsortdate}% \newunit\newblock @@ -2168,8 +2446,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author+org}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -2213,8 +2489,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \iffieldundef{entrysubtype}% {\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}}% @@ -2231,7 +2505,9 @@ bibliography style] \setunit{\addspace}% \usebibmacro{language+transtitle}% \newcunit\newblock% - \usebibmacro{unpubl+letter+date}}% + \usebibmacro{unpubl+letter+date}% + \newcunit + \printlist{origlocation}}% 17th ed. \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock @@ -2246,7 +2522,10 @@ bibliography style] \newunit\newblock \printfield{note}% \newunit\newblock - \usebibmacro{institution+organization}% + \iffieldundef{entrysubtype}% + {\printfield{venue}\setunit*{\addcomma\addspace}}% + {}% + \usebibmacro{misc+institution+organization}% \setunit*{\addcomma\addspace}\newblock \printlist{location}% \iffieldundef{entrysubtype}% @@ -2274,8 +2553,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% @@ -2296,9 +2573,16 @@ bibliography style] \newunit\newblock \usebibmacro{part+editor+translator}% \newunit\newblock + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\usebibmacro{byeditor+others}\newunit\newblock}{}% \usebibmacro{music+eventdate}%\printeventdate \newunit\newblock - \usebibmacro{chapinscore}% + \printfield{note}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \usebibmacro{chap+as+track}%inscore% 17th ed. + \usebibmacro{music+bookauthor}% Ditto. \usebibmacro{btitle+bstitle}% \iffieldundef{booktitle}% {\newunit}% Fix customc? @@ -2306,9 +2590,9 @@ bibliography style] \iffieldundef{edition}% {}% {\usebibmacro{edition}}% - \newunit% unit, not cunit? - \usebibmacro{bybookauthor}% - \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newunit% unit, not cunit? + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {}{\usebibmacro{byeditor+others}}% \newunit% ??? Editorpunct maybe not right here? \iffieldundef{maintitle}% {}% @@ -2338,14 +2622,14 @@ bibliography style] \newunit\newblock \printfield{version}% \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}% + \usebibmacro{music+origdate}% Changed for 17th ed. \newunit\newblock \printlist{publisher}% \setunit*{\addcomma\addspace}\newblock - \printfield{series}% - \setunit{\addspace}% + \usebibmacro{series+or+shortser}% + \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}% + {\newunit}% + {\setunit{\addspace}}% \printfield{number}% \newcunit\newblock \usebibmacro{date}% @@ -2388,26 +2672,79 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock - \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \ifundef\bbx@lasthash% + {\ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{commenton}}% + }% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\usebibmacro{italtitle+stitle}}}% + {\usebibmacro{italtitle+stitle}}}% + {}% \usebibmacro{cmsbibsortdate}% \newunit\newblock - \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \ifundef\bbx@lasthash% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}% + {}% + {\ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{commenton}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {}}}% + {\ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{commenton}}% + }% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}% + {}% + {\usebibmacro{italtitle+stitle}% + \newcunit\newblock + \usebibmacro{date}% + \usebibmacro{time+stamp}% + \iftoggle{cms@switchdates}% + {\clearfield{orighour}\clearfield{origyear}\clearfield{origmonth}% + \clearfield{origday}\clearfield{origseason}}% + {\clearfield{hour}\clearfield{year}\clearfield{month}% + \clearfield{day}\clearfield{season}}% + \newunit\newblock}% + \usebibmacro{related:init}% + \usebibmacro{related}}% + {\usebibmacro{italtitle+stitle}}}% \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock \usebibmacro{bibreprint}% \printlist{organization}% 16th ed. \newunit\newblock \printfield{note}% - \newunit\newblock + \newcunit\newblock% 17th ed. comma \usebibmacro{date}% + \usebibmacro{time+stamp}% 17th ed. + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{addendum}% \newunit\newblock \ifthenelse{\iffieldundef{urlyear}\AND\iffieldundef{urlmonth}}% {}% - {\printurldate}% Date fix + {\printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% Date fix \newunit\newblock \iftoggle{cms@doionly}% {\iffieldundef{doi}% @@ -2422,11 +2759,13 @@ bibliography style] \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock - \printfield{addendum}% - \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{commenton}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2438,10 +2777,10 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{author+holder}% + holder? \newunit\newblock - \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \ifundef\bbx@lasthash{\usebibmacro{patenttitle+stitle}}{}% \usebibmacro{cmscitesortdate}% \newunit\newblock - \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \ifundef\bbx@lasthash{}{\usebibmacro{patenttitle+stitle}}% \setunit{\addperiod\addspace}% \printfield{note}% \setunit{\addperiod\addspace}% @@ -2490,25 +2829,82 @@ bibliography style] {}% \usebibmacro{finentry}} +\DeclareBibliographyDriver{performance}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}% + {\usebibmacro{italtitle+stitle}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printfield{venue}% + \setunit*{\addcomma\addspace}% + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newcunit\newblock + \usebibmacro{date}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + \DeclareBibliographyDriver{periodical}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% and not togl {cms@origpublished}% }% - {\printtext[title]{% magazine subtype - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}% + {\ifboolexpr{% + togl {cms@bibjtabb}% + and + test {\ifbibliography}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% \setunit*{\addspace}% \printlist[periodplace]{location}% \clearlist{location}% + \clearfield{shorttitle}% \clearfield{title}% \clearfield{subtitle}% \newunit\newblock}{}% @@ -2548,21 +2944,29 @@ bibliography style] \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% and not togl {cms@origpublished}% }% - {\printtext[title]{% magazine subtype - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}% + {\ifboolexpr{% + togl {cms@bibjtabb}% + and + test {\ifbibliography}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% \setunit*{\addspace}% \printlist[periodplace]{location}% \clearlist{location}% + \clearfield{shorttitle}% \clearfield{title}% \clearfield{subtitle}% \newunit\newblock}{}% @@ -2579,7 +2983,9 @@ bibliography style] \usebibmacro{bibreprint}% \printfield{note}% \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? - \usebibmacro{periodical+issue+year+pages}% + \iftoggle{cms@switchdates}% + {\usebibmacro{periodical+issue+year+pages}{orig}}% + {\usebibmacro{periodical+issue+year+pages}{}}% \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock @@ -2605,8 +3011,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -2755,8 +3159,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -2767,8 +3169,10 @@ bibliography style] \newunit\newblock \printfield{type}% \newcunit - \printfield{series}% - \setunit{\addnbspace}% + \usebibmacro{series+or+shortser}% + \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}% + {\newunit}% + {\setunit{\addnbspace}}% \printfield{number}% \newunit \printfield{note}% @@ -2801,14 +3205,16 @@ bibliography style] \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{mag+news+author}}% {\usebibmacro{author/editor}}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef{\bbx@lasthash}% {\ifboolexpr{% togl {cms@related}% and + ( test {\iffieldequalstr{relatedtype}{reviewof}}% + or + test {\iffieldequalstr{relatedtype}{commenton}}% + ) }% {\usebibmacro{related:init}% \usebibmacro{related}}% @@ -2824,7 +3230,11 @@ bibliography style] {\ifboolexpr{% togl {cms@related}% and + ( test {\iffieldequalstr{relatedtype}{reviewof}}% + or + test {\iffieldequalstr{relatedtype}{commenton}}% + ) }% {\usebibmacro{related:init}% \usebibmacro{related}}% @@ -2835,6 +3245,8 @@ bibliography style] \printfield{titleaddon}% \newcunit\newblock \usebibmacro{music+eventdate}% 16th ed. + \newcunit\newblock + \printeventtime% \setunit{\addspace}% \usebibmacro{language+transtitle}% \newunit\newblock% @@ -2846,14 +3258,18 @@ bibliography style] \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock% 17th ed. \printfield{note}% \setunit*{\addcomma\addspace}\newblock% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{mag+news+date}% - \newcunit\newblock - \usebibmacro{chap+pag}}% - {\usebibmacro{journal+issue+year+pages}}% + \newunit\newblock + \printfield{type}% + \newcunit\newblock + \usebibmacro{chap+pag}}% + {\iftoggle{cms@switchdates}% + {\usebibmacro{journal+issue+year+pages}{orig}}% + {\usebibmacro{journal+issue+year+pages}{}}}% \newunit\newblock \usebibmacro{pubstate}% \newunit\newblock @@ -2871,6 +3287,96 @@ bibliography style] togl {cms@related}% and not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldequalstr{relatedtype}{commenton}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{standard}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \ifnameundef{author}% + {\iflistundef{organization}% + {\let\bbx@lasthash\undefined}% + {\ifboolexpr{% + test {\iflistequals{organization}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printlist{organization}\bibcloseparen}% + {\printlist{organization}}% + \savelist{organization}{\bbx@lasthash}}}}% + {\usebibmacro{justauthor}}% + \newunit\newblock + \ifundef{\bbx@lasthash}{\usebibmacro{italtitle+stitle}}{}% + \ifthenelse{\iffieldundef{userd}\AND\iffieldundef{howpublished}}% + {\usebibmacro{cmsbibsortdate}}% + {\usebibmacro{cmscitesortdate}}% Like Patent entries (?) + \newunit\newblock + \ifundef{\bbx@lasthash}{}% + {\usebibmacro{italtitle+stitle}}% + \newunit\newblock + \usebibmacro{edition}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{series+or+shortser}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{note}% + \newunit\newblock% + \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. + \newunit\newblock% + \usebibmacro{bibreprint}% + \printlist{location}% + \iflistundef{publisher}% + {\iflistundef{organization}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}% + \printlist{organization}% + \setunit*{\addcomma\addspace}}}% + {\setunit*{\addcolon\addspace}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}}% + \usebibmacro{date} + \setunit{\addsemicolon\addspace}% + \printfield{howpublished}% + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% }% {\usebibmacro{related:init}% \usebibmacro{related}% @@ -2883,8 +3389,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{% \usebibmacro{inforaft}% @@ -2958,8 +3462,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -2993,8 +3495,6 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -3042,35 +3542,40 @@ bibliography style] \usebibmacro{bibindex}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \ifundef\bbx@lasthash{% - \usebibmacro{video+title}% Simplifies trad style - \iffieldundef{booktitle}% Comma after italics, period after quotes - {\setunit{\ctitleaddonpunct}}% - {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% - \printfield{titleaddon}%\usebibmacro{title+stitle}% - \setunit{\addspace}\newblock%\bibsentence - \usebibmacro{language+transtitle}% - \newunit\newblock}{}% + \usebibmacro{video+tv+title}% + \newunit\newblock}{}% \usebibmacro{cmsbibsortdate}% \newunit\newblock \ifundef\bbx@lasthash{}{% - \usebibmacro{video+title}% Simplifies trad style - \iffieldundef{booktitle}% Comma after italics, period after quotes - {\setunit{\ctitleaddonpunct}}% - {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% - \printfield{titleaddon}%\usebibmacro{title+stitle}% - \setunit{\addspace}\newblock%\bibsentence - \usebibmacro{language+transtitle}}% - \setunit{\addperiod\addspace}% 16th ed. - \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% - \usebibmacro{part+editor+translator}% - \setunit{\addperiod\addspace}% - \usebibmacro{chapinscore}% - \usebibmacro{btitle+bstitle}% + \usebibmacro{video+tv+title}}% + \ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + ( + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + ) + }% + {\usebibmacro{video+title}% + \iffieldundef{booktitle}% + {\setunit{\ctitleaddonpunct}}% + {\setunit{\ptitleaddonpunct}}% + \printfield{titleaddon}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}} + {\setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \setunit{\addperiod\addspace}% + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}}% \iffieldundef{booktitle}% {\setunit{\addperiod\addspace}}% Fix customc? {\setunit{\addcomma\addspace}}% @@ -3109,12 +3614,15 @@ bibliography style] \newunit\newblock \usebibmacro{ser+num}% \newunit\newblock + \printfield{note}% + \newunit\newblock \usebibmacro{music+eventdate}% + \setunit*{\addcomma\addspace}% + \printfield{usera}% \newunit\newblock \usebibmacro{origpubl+loc+year}% 16th ed. \newunit\newblock - \printfield{note}% - \newunit\newblock + \usebibmacro{bibreprint}% 17th ed. \usebibmacro{publ+loc+year}% \newunit\newblock \printfield{type}% @@ -3152,7 +3660,14 @@ bibliography style] ) }% {}% - {\printurldate}% Date fix + {\printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% Date fix \iffieldundef{addendum}% {\newunit\newblock}% {\newcunit\newblock}% @@ -3192,18 +3707,30 @@ bibliography style] or not togl {cms@los}% }% - {\togglefalse{cms@authorparens}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% + {\togglefalse{cms@authorparens}% + \global\csundef{cms@shauthor}}% + {\ifboolexpr{% + (( + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + or + test {\iffieldequals{shorthand}{\cms@shauthor}}% + ) + and + togl {cms@namedash}% + ) + and + not test {\iffirstonpage}% + }% {\togglefalse{cms@authorparens}}% {\toggletrue{cms@authorparens}% + \savefield{shorthand}{\cms@shauthor}% \printfield{shorthand}\addspace}}} \newbibmacro*{shorthand:label}{% Test this \ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% \ifentrytype{periodical}}% Simplifies .bib creation {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}}}% - {\ifentrytype{manual}% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% {\printtext[bibhyperref]{\printlist{organization}}}% {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}}% @@ -3213,6 +3740,8 @@ bibliography style] or test {\ifentrytype{review}}% or + test {\ifentrytype{standard}}% + or test {\ifentrytype{suppperiodical}}% or test {\ifentrytype{video}}% @@ -3225,17 +3754,646 @@ bibliography style] {\usebibmacro{origfirst+labelyear+extrayear}}% {\usebibmacro{standard+labelyear+extrayear}}}} +\protected\def\cmsunspecified#1#2{% + \ifboolexpr{% + test {\iffieldundef{#2dateunspecified}}% + or + togl {cms@alwaysrange}% + }% + {\ifboolexpr{% + test {\iffieldundef{#2endyear}}% + or + test {\iffieldequalstr{#2dateera}{bce}}% + or + not togl {cms@compyears}% + or + not test {\iffieldnum{#2year}}% + or + not test {\iffieldnum{#2endyear}}% + or + not test {\if@cms@onlyyears{#2}}% + }% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}% + {\cmscompcenturies{#2}% + \ifboolexpr{% + ( + test {\if@cms@bracket}% + and + not test {\if@cms@endbracket} + ) + or + ( + not test {\if@cms@bracket}% + and + test {\if@cms@endbracket}% + ) + or + ( + test {\if@cms@endcirca}% + and + not test {\if@cms@circa}% + ) + or + not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}% + }% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearindecade}}% + and + test {\ifbibstring{decade}}% + and + not togl {cms@decaderange}% + }% + {\cmsmkdecade{#1}{#2}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearincentury}}% + and + test {\ifbibstring{century}}% + and + not togl {cms@centuryrange}% + }% + {\cmsmkcentury{#2}}% + {\iftoggle{cms@compyears}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}% + +\protected\def\cmscompressyears#1{% + \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}% + \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}% + \cms@tempb}% + +\newcount\cms@tempcnta +\newcount\cms@tempcntb + +\def\cmscompcenturies#1{% + \cms@tempcnta=\thefield{#1year}% + \divide\cms@tempcnta100 + \cms@tempcntb=\thefield{#1endyear}% + \divide\cms@tempcntb100} + +\protected\def\cmsformatextra{% + \ifboolexpr{% + test {\if@cms@bracket}% + and + not togl {cms@noyearbrackets}% + }% + {\usebibmacro{cmsextradate}% + \global\boolfalse{cms:extraparens}}% + {\ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}} + +\protected\def\cmsformatendextra{% + \ifboolexpr{% + test {\if@cms@endbracket}% + and + test {\if@cms@bracket}% + and + not togl {cms@noyearbrackets}% + }% + {\usebibmacro{cmsextradate}% + \global\boolfalse{cms:extraparens}}% + {\ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}} + +\newbibmacro*{cmsextradate}{% For use with some date specs + \iffieldundef{extradate}% + {}% + {\setunit*{}% + \printfield{extradate}\clearfield{extradate}}} + +\newbibmacro*{cmsparensextradate}{% For use with other date specs + \iffieldundef{extradate}% + {}% + {\setunit*{}% + \mkbibparens{\printfield{extradate}}\clearfield{extradate}}} + +\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language + \ifdefstring\blx@dateera{astronomical}% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifnumless{0-\thefield{#1}}{0}% + {\printtext{\csuse{bibdateera\blx@tempa prefix}}}% + {}}% + {}% + \endgroup}% + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\ifdefstring\blx@tempa{end}% + {\iftoggle{cms@bc}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}% + {}}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}}% + {}}% + \endgroup}% + {}}% + {}}} + +\protected\def\cmsdateeraprint#1{% AD/BC order depends on language + \ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1} + {\begingroup + \let\blx@tempa\@empty + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype + \def\blx@tempa{end}} + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}}}% + {}% + \endgroup} + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{secular}}% + or + ( + test {\ifdefstring\blx@dateera{christian}}% + and + not test {\if@cms@adfirst}% + ) + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}}}% + {\ifdefstring\blx@tempa{end}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}% + \global\booltrue{cms:extraparens}}% + {}}% + {\csuse{if\blx@datetype enddateera}{ce}% + {}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}% + \global\booltrue{cms:extraparens}}% + {}}}}% + \endgroup}% + {}}% + {}}} + +\newrobustcmd*{\cms@datebrackets}{% + \iftoggle{cms@nodatebrackets}% + {\global\boolfalse{cms:bracket}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@yearbrackets}{% + \iftoggle{cms@noyearbrackets}% + {\global\boolfalse{cms:bracket}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifdateyearsequal{#2}{#2end}% + {\iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{}{}{#2day}}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#2endyear}% + {\iffieldundef{#2endmonth}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\bibdaterangesep% + \csuse{mkbibseasondate#1}{}{#2endseason}}}% + {\bibdaterangesep% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdatedash% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkbibrangefull}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \ifboolexpr{% + test {\ifdateyearsequal{#2}{#2end}}% + and + test {\iffieldundef{#2month}}% + and + test {\iffieldundef{#2day}}% + }% + {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\cmsdateeraprint{#2year}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdaterangesep% + \iffieldundef{#2endseason}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkyearrangeextra}[3][]{% + \global\boolfalse{cms:extraparens}% + \begingroup + \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% + \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \blx@metadateinfo{#3}% + \iffieldundef{#3year} + {\blx@nounit}% + {\printtext{% + \if@cms@bracket% + {\cms@yearbrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \ifdateyearsequal{#3}{#3end}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}% + \clearfield{#3endyear}}% + {\ifblank{#1}% + {\cmsunspecified{#2}{#3}}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}}% + {\ifthenelse{\iffieldundef{#3endyear}\OR% + \iffieldequalstr{#3endyear}{}}% + {\global\booltrue{cms:extraparens}}% + {}% + \bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#3endyear} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \cmsformatextra}%\usebibmacro{cmsextradate}% + {\iffieldequalstr{#3endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \cmsformatextra%\usebibmacro{cmsextradate}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@yearbrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}% + \csuse{mkbibdate#2}{#3endyear}{}{}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#3endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#3endyear}}}% + {\if@cms@enduncertain% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}% + \cmsdateeraprint{#3endyear}}% + \cmsformatendextra}}}}% + \endgroup}% + +\def\if@cms@adfirst{% + \ifboolexpr{% + test {\ifdefstring\blx@languagename{american}}% + or + test {\ifdefstring\blx@languagename{british}}% + or + test {\ifdefstring\blx@languagename{canadian}}% + or + test {\ifdefstring\blx@languagename{english}}% + or + test {\ifdefstring\blx@languagename{UKenglish}}% + or + test {\ifdefstring\blx@languagename{USenglish}}% + or + test {\ifdefstring\blx@languagename{australian}}% + or + test {\ifdefstring\blx@languagename{newzealand}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@bracket{% + \ifboolexpr{% + ( + test {\ifdatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endbracket{% + \ifboolexpr{% + ( + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@circa{% + \ifboolexpr{% + test {\ifdatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@uncertain{% + \ifboolexpr{% + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endcirca{% + \ifboolexpr{% + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@enduncertain{% + \ifboolexpr{% + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@onlyyears#1{% + \ifboolexpr{% + test {\iffieldundef{#1month}}% + and + test {\iffieldundef{#1endmonth}}% + and + test {\iffieldundef{#1day}}% + and + test {\iffieldundef{#1endday}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + \newbibmacro*{standard+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% or new declaration ??? {\ifboolexpr{% test {\ifentrytype{misc}}% or - test {\ifentrytype{inreference}}% - or - test {\ifentrytype{reference}}% - or - test {\ifentrytype{mvreference}}% + test {\ifentrytype{dataset}}% or not togl {cms@nodates}}% {}% @@ -3243,86 +4401,24 @@ bibliography style] {\iffieldundef{year}% {\iffieldundef{eventyear}% {\iffieldundef{origyear}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{urlendyear}% - {\clearfield{urlyear}}% + {\iffieldundef{userd}% {\ifboolexpr{% - test {\iffieldequalstr{urlendyear}{}}% + togl {cms@nodates}% and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{urlyear}}% - {\iffieldundef{urlmonth}% - {\clearfield{urlyear}}% - {\iffieldsequal{urlyear}{urlendyear}% - {\clearfield{urlyear}\clearfield{urlendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{origendyear}% - {\clearfield{origyear}}% - {\ifboolexpr{% - test {\iffieldequalstr{origendyear}{}}% + not test {\ifentrytype{misc}}% and - not togl {cms@datedash}% + not test {\ifentrytype{dataset}}% }% - {\mbox{\bibdatedash}% - \clearfield{origyear}}% - {\iffieldundef{origmonth}% - {\clearfield{origyear}}% - {\iffieldsequal{origyear}{origendyear}% - {\clearfield{origyear}\clearfield{origendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{eventendyear}% - {\clearfield{eventyear}}% - {\ifboolexpr{% - test {\iffieldequalstr{eventendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{eventyear}}% - {\iffieldundef{eventmonth}% - {\clearfield{eventyear}}% - {\iffieldsequal{eventyear}{eventendyear}% - {\clearfield{eventyear}\clearfield{eventendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{endyear}% DATE FIX - {\clearfield{year}}% - {\ifboolexpr{% - test {\iffieldequalstr{endyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{year}}% - {\iffieldundef{month}% - {\clearfield{year}}% - {\iffieldsequal{year}{endyear}% - {\clearfield{year}\clearfield{endyear}}% + {\bibstring{nodate}}% {}}% - \usebibmacro{cms@test@labelend}}}}}}% + {\printurldateextra% + \usebibmacro{clear+datefield}{url}}}% + {\printorigdateextra% + \usebibmacro{clear+datefield}{orig}}}% + {\printeventdateextra% + \usebibmacro{clear+datefield}{event}}}% + {\printdateextra% + \usebibmacro{clear+datefield}{}}}}% \newbibmacro*{origfirst+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% @@ -3330,11 +4426,7 @@ bibliography style] {\ifboolexpr{% test {\ifentrytype{misc}}% or - test {\ifentrytype{inreference}}% - or - test {\ifentrytype{reference}}% - or - test {\ifentrytype{mvreference}}% + test {\ifentrytype{dataset}}% or not togl {cms@nodates}}% {}% @@ -3342,86 +4434,24 @@ bibliography style] {\iffieldundef{origyear}% {\iffieldundef{year}% {\iffieldundef{eventyear}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{urlendyear}% - {\clearfield{urlyear}}% + {\iffieldundef{userd}% {\ifboolexpr{% - test {\iffieldequalstr{urlendyear}{}}% + togl {cms@nodates}% and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{urlyear}}% - {\iffieldundef{urlmonth}% - {\clearfield{urlyear}}% - {\iffieldsequal{urlyear}{urlendyear}% - {\clearfield{urlyear}\clearfield{urlendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{eventendyear}% - {\clearfield{eventyear}}% - {\ifboolexpr{% - test {\iffieldequalstr{eventendyear}{}}% + not test {\ifentrytype{misc}}% and - not togl {cms@datedash}% + not test {\ifentrytype{dataset}}% }% - {\mbox{\bibdatedash}% - \clearfield{eventyear}}% - {\iffieldundef{eventmonth}% - {\clearfield{eventyear}}% - {\iffieldsequal{eventyear}{eventendyear}% - {\clearfield{eventyear}\clearfield{eventendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{endyear}% - {\clearfield{year}}% - {\ifboolexpr{% - test {\iffieldequalstr{endyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{year}}% - {\iffieldundef{month}% - {\clearfield{year}}% - {\iffieldsequal{year}{endyear}% - {\clearfield{year}\clearfield{endyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{origendyear}% DATE FIX - {\clearfield{origyear}}% - {\ifboolexpr{% - test {\iffieldequalstr{origendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{origyear}}% - {\iffieldundef{origmonth}% - {\clearfield{origyear}}% - {\iffieldsequal{origyear}{origendyear}% - {\clearfield{origyear}\clearfield{origendyear}}% + {\bibstring{nodate}}% {}}% - \usebibmacro{cms@test@labelend}}}}}}% + {\printurldateextra% + \usebibmacro{clear+datefield}{url}}}% + {\printeventdateextra% + \usebibmacro{clear+datefield}{event}}}% + {\printdateextra% + \usebibmacro{clear+datefield}{}}}% + {\printorigdateextra% + \usebibmacro{clear+datefield}{orig}}}}% \newbibmacro*{av+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% @@ -3429,11 +4459,7 @@ bibliography style] {\ifboolexpr{% test {\ifentrytype{misc}}% or - test {\ifentrytype{inreference}}% - or - test {\ifentrytype{reference}}% - or - test {\ifentrytype{mvreference}}% + test {\ifentrytype{dataset}}% or not togl {cms@nodates}}% {}% @@ -3441,106 +4467,77 @@ bibliography style] {\iffieldundef{eventyear}% {\iffieldundef{origyear}% {\iffieldundef{year}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{urlendyear}% - {\clearfield{urlyear}}% + {\iffieldundef{userd}% {\ifboolexpr{% - test {\iffieldequalstr{urlendyear}{}}% + togl {cms@nodates}% and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{urlyear}}% - {\iffieldundef{urlmonth}% - {\clearfield{urlyear}}% - {\iffieldsequal{urlyear}{urlendyear}% - {\clearfield{urlyear}\clearfield{urlendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{endyear}% - {\clearfield{year}}% - {\ifboolexpr{% - test {\iffieldequalstr{endyear}{}}% + not test {\ifentrytype{misc}}% and - not togl {cms@datedash}% + not test {\ifentrytype{dataset}}% }% - {\mbox{\bibdatedash}% - \clearfield{year}}% - {\iffieldundef{month}% - {\clearfield{year}}% - {\iffieldsequal{year}{endyear}% - {\clearfield{year}\clearfield{endyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{origendyear}% - {\clearfield{origyear}}% - {\ifboolexpr{% - test {\iffieldequalstr{origendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{origyear}}% - {\iffieldundef{origmonth}% - {\clearfield{origyear}}% - {\iffieldsequal{origyear}{origendyear}% - {\clearfield{origyear}\clearfield{origendyear}}% - {}}% - \usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{eventendyear}% DATE FIX - {\clearfield{eventyear}}% - {\ifboolexpr{% - test {\iffieldequalstr{eventendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}% - \clearfield{eventyear}}% - {\iffieldundef{eventmonth}% - {\clearfield{eventyear}}% - {\iffieldsequal{eventyear}{eventendyear}% - {\clearfield{eventyear}\clearfield{eventendyear}}% + {\bibstring{nodate}}% {}}% - \usebibmacro{cms@test@labelend}}}}}}% + {\printurldateextra% + \usebibmacro{clear+datefield}{url}}}% + {\printdateextra% + \usebibmacro{clear+datefield}{}}}% + {\printorigdateextra% + \usebibmacro{clear+datefield}{orig}}}% + {\printeventdateextra% + \usebibmacro{clear+datefield}{event}}}}% -\newbibmacro*{origyear+endyear}{% - \printfield{origyear}% - \ifthenelse{\iffieldundef{origendyear}\OR% - \iffieldsequal{origyear}{origendyear}}% Same fix as in .lbx - {}% - {\iffieldequalstr{origendyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash\csuse{mkbibdatelong}{origendyear}{}{}}}}% ??? - -% \printfield{origendyear}}}} Peculiar bug with this after \bibnamedash +\newbibmacro{artwork+dates}{% 17th ed. + \iftoggle{cms@ordate}% + {\IfBeginWith{\thefield{labeldatesource}}{orig}% + {\iftoggle{cms@switchdates}% + {\printdate\newunit\printorigdate}% + {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}% + {\iffieldundef{year}{}{\printdate}}% + {\printorigdate% + \iffieldundef{year}% + {}% + {\newunit\printdate}}}}% + {\IfBeginWith{\thefield{labeldatesource}}{event}% + {}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {}{\printdate}}}}% + {\ifboolexpr{% + togl {cms@origlabel}% + or + togl {cms@bothlabelold}% + or + togl {cms@bothlabelnew}% + }% + {\iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {\printorigdate}% + {\printdate\newunit\printorigdate}}% + {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}% + {\printdate}% + {\printorigdate\newunit\printdate}}}% + {\iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {\printorigdate}% + {\printdate\newunit\printorigdate}}% + {\iffieldundef{origyear}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {}% + {\printdate}}% + {\printorigdate% + \iffieldundef{year}% + {}% + {\newunit\printdate}}}}}} -\newbibmacro*{year+endyear}{% - \printfield{year}% - \ifthenelse{\iffieldundef{endyear}\OR% - \iffieldsequal{year}{endyear}}% Same fix as in .lbx - {}% - {\iffieldequalstr{endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash\printfield{endyear}}}} +\newbibmacro*{clear+datefield}[1]{% + \iffieldundef{#1day}% + {\iffieldundef{#1endyear}% + {\clearfield{#1year}}% + {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}% + {\clearfield{#1year}}% + {\ifdateyearsequal{#1}{#1end}% + {\clearfield{#1year}\clearfield{#1endyear}}% + {}}}}% + {}} \newbibmacro*{cmsbibsortdate}{% Attempt to solve date-related problems \ifboolexpr{% @@ -3572,10 +4569,10 @@ bibliography style] {\usebibmacro{bothyear+oldstyle}}% {\iftoggle{cms@bothlabelold}% {\usebibmacro{bothyear+oldstyle}}% - {\usebibmacro{labelyear+extrayear}}}}% - \ifcsdef{@cms@tempdate}% - {\toggletrue{\@cms@tempdate}}% - {}}% + {\usebibmacro{labelyear+extrayear}}}}}% + % \ifcsdef{@cms@tempdate}% + % {\toggletrue{\@cms@tempdate}}% + % {}}% \newbibmacro*{origyear+labelyear}{% \ifboolexpr{ ( @@ -3583,6 +4580,8 @@ bibliography style] or test {\ifentrytype{review}}% or + test {\ifentrytype{standard}}% + or test {\ifentrytype{suppperiodical}}% or test {\ifentrytype{video}}% @@ -3600,8 +4599,9 @@ bibliography style] \usebibmacro{standard+labelyear+extrayear}}% {\iftoggle{cms@ordate}% {\usebibmacro{origfirst+labelyear+extrayear}}% - {\usebibmacro{origyear+endyear}% - \clearfield{origyear}}}}}}% + {\clearfield{extradate}% + \printorigdateextra%\usebibmacro{origyear+endyear}% + \usebibmacro{clear+datefield}{orig}}}}}}% \newbibmacro*{bothyear+oldstyle}{% \ifboolexpr{ ( @@ -3609,6 +4609,8 @@ bibliography style] or test {\ifentrytype{review}}% or + test {\ifentrytype{standard}}% + or test {\ifentrytype{suppperiodical}}% or test {\ifentrytype{video}}% @@ -3622,9 +4624,11 @@ bibliography style] \bibopenparen% \usebibmacro{labelyear+extrayear}% \bibcloseparen% - \setunit{\addspace}\usebibmacro{origyear+endyear}}% - \clearfield{year}% - \clearfield{origyear}}% + \setunit{\addspace}% + \clearfield{extrayear}% + \printorigdateextra}% \usebibmacro{origyear+endyear} + \usebibmacro{clear+datefield}{}% + \usebibmacro{clear+datefield}{orig}}% {\iffieldundef{origyear}% {\iftoggle{cms@ordate}% {}% @@ -3638,18 +4642,23 @@ bibliography style] \usebibmacro{origfirst+labelyear+extrayear}% \bibcloseparen% \setunit*{\addspace}% - \usebibmacro{year+endyear}}}}% - {\printtext{% - \bibopenparen% - \usebibmacro{origyear+endyear}% - \bibcloseparen% - \clearfield{extradate}\setunit*{\addspace}% - \usebibmacro{standard+labelyear+extrayear}}}% - \clearfield{origyear}% - \clearfield{year}}}}}% + \clearfield{extradate}% + \printdateextra}}}% \usebibmacro{year+endyear} + {\iffieldundef{year}% + {\usebibmacro{origfirst+labelyear+extrayear}}% + {\printtext{% + \bibopenparen% + \clearfield{extradate}% + \printorigdateextra% + % \usebibmacro{origyear+endyear}% + \bibcloseparen% + \setunit*{\addspace}% + \usebibmacro{standard+labelyear+extrayear}}}}% + \usebibmacro{clear+datefield}{orig}% + \usebibmacro{clear+datefield}{}}}}}% \newbibmacro*{pubstate}{% - \iftoggle{cms@reprint}% + \iffieldequalstr{pubstate}{reprint}% {\iftoggle{cms@switchdates}% {\iffieldundef{year}% Fix for consistency??? {}% @@ -3661,22 +4670,28 @@ bibliography style] {\printtext{% 16th ed. \usebibmacro{choosepubstring}% \printorigdate}}}}% Need \addperiod & \nopunct ?? - {\printfield{pubstate}}}% + {}}% 17th ed. \newbibmacro*{choosepubstring}{% \ifthenelse{\ifentrytype{video}\OR% \ifentrytype{music}}% {\bibstring{origreleaseyear}}% - {\bibstring{origpubyear}}}% + {\bibstring{origpubyearalt}}}% \newbibmacro*{bibreprint}{% - \iftoggle{cms@reprint}% - {\iffieldundef{origyear}% - {\bibstring{reprint}\newcunit}% 16th ed. - {\iftoggle{cms@switchdates}% - {\bibstring{reprint}\newcunit}% 16th ed. - {}}}% - {}}% + \iffieldequalstr{pubstate}{reprint}% + {\ifentrytype{video}% + {}% + {\iffieldundef{origyear}% + {\bibstring{reprint}\reprintpunct}% 16th ed. \newcunit + {\iftoggle{cms@switchdates}% + {\bibstring{reprint}\reprintpunct}% 16th ed. \newcunit + {}}}}% + {\iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\biblstring{\thefield{pubstate}}\reprintpunct}% \newcunit + {\printfield[prenote]{pubstate}\reprintpunct}}}}% \newcunit \newbibmacro*{volume+pages}{% Volume fix (modified) \ifboolexpr{% @@ -3872,46 +4887,48 @@ bibliography style] \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}}% -\newbibmacro*{cjournal+ser+vol+num}{% Moved to bbx +\newbibmacro*{cjournal+ser+vol+num}[1]{% Moved to bbx \usebibmacro{journal+sub}% \setunit*{\addspace}% \printlist[periodplace]{location}% \setunit*{\addspace}% \iffieldundef{series}% - {}% - {\newcunit - \printfield[jourser]{series}% - \newcunit}%\setunit*{\addspace}? - \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {}% + {\newcunit + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND% + \iffieldundef{issue}\AND\iffieldundef{#1season}}% {\iffieldundef{volume}% {\newcunit% \printfield[journum]{number}% \clearfield{number}% - \setunit{\addcomma\addspace}}% + \printunit{\addcomma\addspace}}% {\printfield[jourvol]{volume}% \setunit{\addcomma\addspace}}}% {\printfield[jourvol]{volume}% \newcunit% \printfield[journum]{number}% \clearfield{number}% - \setunit{\addcomma\addspace}}% need * here? - \printfield{eid}% - \newunit}% + \setunit{\addcomma\addspace}}}% eid moved for 17th ed. + % \printfield{eid}% + % \newunit}% -\newbibmacro*{journal+issue+year+pages}{% +\newbibmacro*{journal+issue+year+pages}[1]{% \ifboolexpr{% not togl {cms@numbermonth}% or test {\ifcsstring{blx@dateformat@date}{year}}% }% - {\clearfield{month}}% + {\clearfield{#1month}}% {}% - \usebibmacro{cjournal+ser+vol+num}% + \usebibmacro{cjournal+ser+vol+num}{#1}% \setunit{\addspace}% - \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}% - \AND\iffieldundef{number}\AND\iffieldundef{year}}% Test year for - {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT% related entries?? - \iffieldundef{volume}}% Removed kludge for French colon spacing? + \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}% + \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND% + \iffieldundef{#1season}}% Test year for related entries?? + {\ifthenelse{\iffieldundef{bookpagination}\AND% + \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% {\setunit{\addcolon\addspace}}}% This may not be universally correct. {\printtext[parens]{% Perhaps if it's wrong use magazine subtype? @@ -3922,22 +4939,23 @@ bibliography style] \setunit{\addspace}% \usebibmacro{cmsyear}}}% \setunit{\addcolon\addspace}}% - \printfield{pages}}% + \usebibmacro{eid+or+pages}}% -\newbibmacro*{periodical+issue+year+pages}{% +\newbibmacro*{periodical+issue+year+pages}[1]{% \ifboolexpr{% not togl {cms@numbermonth}% or test {\ifcsstring{blx@dateformat@date}{year}}% }% - {\clearfield{month}}% + {\clearfield{#1month}}% {}% - \usebibmacro{cperiodical+ser+vol+num}% + \usebibmacro{cperiodical+ser+vol+num}{#1}% \setunit{\addspace}% - \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}% - \AND\iffieldundef{number}\AND\iffieldundef{year}}% See prev. macro - {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT% - \iffieldundef{volume}}% Removed kludge for French ??? + \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}% + \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND% + \iffieldundef{#1season}}% See prev. macro + {\ifthenelse{\iffieldundef{bookpagination}\AND% + \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% {\setunit{\addcolon\addspace}}}% {\printtext[parens]{% @@ -3948,7 +4966,12 @@ bibliography style] \setunit{\addspace}% \usebibmacro{cmsyear}}}% \setunit{\addcolon\addspace}}% - \printfield{pages}}% + \usebibmacro{eid+or+pages}}% + +\newbibmacro*{eid+or+pages}{% + \iffieldundef{eid}% + {\printfield{pages}}% + {\printfield{eid}}} \newbibmacro*{bycompiler}{% \ifnameundef{namec}% @@ -3959,7 +4982,7 @@ bibliography style] \renewbibmacro*{byeditor}{% \ifnameundef{editor}% {}% - {\usebibmacro{cbytypestrg}{editor}{editor}% + {\usebibmacro{bytypestrg}{editor}{editor}% \setunit{\addspace}% \printnames[byeditor]{editor}% \usebibmacro{editorpunct}}% @@ -3968,19 +4991,19 @@ bibliography style] \renewbibmacro*{byeditorx}{% \ifnameundef{editora}% {}% - {\usebibmacro{cbytypestrg}{editora}{editor}% + {\usebibmacro{bytypestrg}{editora}{editor}% \setunit{\addspace}% \printnames[byeditora]{editora}% \usebibmacro{editorpunct}}% \ifnameundef{editorb}% {}% - {\usebibmacro{cbytypestrg}{editorb}{editor}% + {\usebibmacro{bytypestrg}{editorb}{editor}% \setunit{\addspace}% \printnames[byeditorb]{editorb}% \usebibmacro{editorpunct}}% \ifnameundef{editorc}% {}% - {\usebibmacro{cbytypestrg}{editorc}{editor}% + {\usebibmacro{bytypestrg}{editorc}{editor}% \setunit{\addspace}% \printnames[byeditorc]{editorc}% \usebibmacro{editorpunct}}} @@ -4115,6 +5138,9 @@ bibliography style] \newbibmacro*{begrelatedloop}{} \newbibmacro*{endrelatedloop}{} +\newcommand*{\begrelateddelimmaintitle}{\newunitpunct\par\nobreak}% +\newcommand*{\begrelateddelimmaintitlenc}{\newunitpunct\par\nobreak}% + \def\ifrelatedloop{% \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}% or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}% @@ -4122,12 +5148,15 @@ bibliography style] \newbibmacro*{related}{% \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }% {}% - {\usebibmacro{begrelated}% + {\ifcsundef{begrelateddelim\strfield{relatedtype}}% + {\printunit{\begrelateddelim}}% + {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}% + \usebibmacro{begrelated}% \def\bbx@tempa{}% \setcounter{bbx:relatedtotal}{0}% \def\do##1{% \entrydata{##1}{% - \ifrelatedloop + \ifrelatedloop% {}% {\stepcounter{bbx:relatedtotal}% \gappto{\bbx@tempa}{##1,}}}}% @@ -4142,7 +5171,13 @@ bibliography style] \def\do{% \stepcounter{bbx:relatedcount}% \ifnumgreater{\value{bbx:relatedcount}}{1}% - {\printtext{\relateddelim}}% + {\ifcsundef{relateddelim\strfield{relatedtype}}% + {\printunit{\relateddelim}}% + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\printunit + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter{% + \csuse{relateddelim\strfield{relatedtype}}}}}% {}}% \ifbibmacroundef{related:\strfield{relatedtype}}% {\appto{\do}{\usebibmacro{related:default}}}% @@ -4176,4 +5211,270 @@ bibliography style] {}% \usebibmacro{endrelated}}}% +\NewBibliographyString{% + afterwordto,% + broadcast,% + by,% + bychoreographer,% + bycompileraf,% + bycompileran,% + bycompileranaf,% + bycompileranfo,% + bycompileranin,% + bycompilerco,% + bycompilercoaf,% + bycompilercofo,% + bycompilercoin,% + bycompilerfo,% + bycompilerin,% + byconductor,% + bydirector,% + byeditoralt,% + byeditorcp,% + byeditorcpaf,% + byeditorcpan,% + byeditorcpanaf,% + byeditorcpanfo,% + byeditorcpanin,% + byeditorcpco,% + byeditorcpcoaf,% + byeditorcpcofo,% + byeditorcpcoin,% + byeditorcpfo,% + byeditorcpin,% + byeditortrcp,% + byeditortrcpaf,% + byeditortrcpan,% + byeditortrcpanaf,% + byeditortrcpanfo,% + byeditortrcpanin,% + byeditortrcpco,% + byeditortrcpcoaf,% + byeditortrcpcofo,% + byeditortrcpcoin,% + byeditortrcpfo,% + byeditortrcpin,% + bynone,% + byproducer,% + bytranslatorcp,% + bytranslatorcpaf,% + bytranslatorcpan,% + bytranslatorcpanaf,% + bytranslatorcpanfo,% + bytranslatorcpanin,% + bytranslatorcpco,% + bytranslatorcpcoaf,% + bytranslatorcpcofo,% + bytranslatorcpcoin,% + bytranslatorcpfo,% + bytranslatorcpin,% + canadasection,% + canadasections,% + cbyannotator,% + cbyauthor,% + cbychoreographer,% + cbycollaborator,% + cbycommentator,% + cbycompiler,% + cbycompileraf,% + cbycompileran,% + cbycompileranaf,% + cbycompileranfo,% + cbycompileranin,% + cbycompilerco,% + cbycompilercoaf,% + cbycompilercofo,% + cbycompilercoin,% + cbycompilerfo,% + cbycompilerin,% + cbyconductor,% + cbycontinuator,% + cbydirector,% + cbyeditor,% + cbyeditoraf,% + cbyeditoralt,% + cbyeditoran,% + cbyeditoranaf,% + cbyeditoranfo,% + cbyeditoranin,% + cbyeditorco,% + cbyeditorcoaf,% + cbyeditorcofo,% + cbyeditorcoin,% + cbyeditorcp,% + cbyeditorcpaf,% + cbyeditorcpan,% + cbyeditorcpanaf,% + cbyeditorcpanfo,% + cbyeditorcpanin,% + cbyeditorcpco,% + cbyeditorcpcoaf,% + cbyeditorcpcofo,% + cbyeditorcpcoin,% + cbyeditorcpfo,% + cbyeditorcpin,% + cbyeditorfo,% + cbyeditorin,% + cbyeditortr,% + cbyeditortraf,% + cbyeditortran,% + cbyeditortranaf,% + cbyeditortranfo,% + cbyeditortranin,% + cbyeditortrco,% + cbyeditortrcoaf,% + cbyeditortrcofo,% + cbyeditortrcoin,% + cbyeditortrcp,% + cbyeditortrcpaf,% + cbyeditortrcpan,% + cbyeditortrcpanaf,% + cbyeditortrcpanfo,% + cbyeditortrcpanin,% + cbyeditortrcpco,% + cbyeditortrcpcoaf,% + cbyeditortrcpcofo,% + cbyeditortrcpcoin,% + cbyeditortrcpfo,% + cbyeditortrcpin,% + cbyeditortrfo,% + cbyeditortrin,% + cbyfounder,% + cbynone,% + cbyorganizer,% + cbyproducer,% + cbyredactor,% + cbytranslator,% + cbytranslatoraf,% + cbytranslatoran,% + cbytranslatoranaf,% + cbytranslatoranfo,% + cbytranslatoranin,% + cbytranslatorco,% + cbytranslatorcoaf,% + cbytranslatorcofo,% + cbytranslatorcoin,% + cbytranslatorcp,% + cbytranslatorcpaf,% + cbytranslatorcpan,% + cbytranslatorcpanaf,% + cbytranslatorcpanfo,% + cbytranslatorcpanin,% + cbytranslatorcpco,% + cbytranslatorcpcoaf,% + cbytranslatorcpcofo,% + cbytranslatorcpcoin,% + cbytranslatorcpfo,% + cbytranslatorcpin,% + cbytranslatorfo,% + cbytranslatorin,% + century,% + cfromamerican,% + cfrombrazilian,% + cfrombulgarian,% + cfromcatalan,% + cfromcroatian,% + cfromczech,% + cfromdanish,% + cfromdutch,% + cfromenglish,% + cfromestonian,% + cfromfinnish,% + cfromfrench,% + cfromgalician,% + cfromgerman,% + cfromgreek,% + cfromitalian,% + cfromjapanese,% + cfromlatin,% + cfromnorwegian,% + cfrompolish,% + cfromportuguese,% + cfromrussian,% + cfromslovak,% + cfromslovene,% + cfromspanish,% + cfromswedish,% + cfromukrainian,% + choreographer,% + choreographers,% + commenton,% + conductor,% + conductors,% + decade,% + director,% + directors,% + discrecorded,% + edamerican,% + edbrazilian,% + edbulgarian,% + edcatalan,% + edcroatian,% + edczech,% + eddanish,% + eddutch,% + edenglish,% + edestonian,% + edfinnish,% + edfrench,% + edgalician,% + edgerman,% + edgreek,% + editalian,% + editorcompiler,% + editorcompilers,% + editortranscompiler,% + editortranscompilers,% + editortranslator,% + editortranslators,% + edjapanese,% + edlatin,% + ednorwegian,% + edpolish,% + edportuguese,% + edrussian,% + edslovak,% + edslovene,% + edspanish,% + edswedish,% + edukrainian,% + forewordto,% + hereinafter,% + inlang,% + introductionto,% + none,% + nones,% + note,% + numbers,% + of,% + on,% + origedition,% + origpub,% + origpublin,% + origpubyear,% + origpubyearalt,% + origreleaseyear,% + origshownyear,% + partvolume,% + patentfiled,% + patentissued,% + preface,% + printed,% + producer,% + producers,% + pseudonym,% + review,% + revisededition,% + selfpublished,% + songrecorded,% + subsection,% + subsections,% + subverbis,% + subverbo,% + supranote,% + track,% + transcompiler,% + transcompilers% + }% + \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx index f0abe6ed187..1e37ea0ecce 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx @@ -1,11 +1,9 @@ -% $Id: chicago-authordate.cbx,v 0.9.1.4 2018/01/11 09:29:25 dfussner Exp $ +% This is a biblatex citation style file, originally adapted from +% Lehman's authoryear-comp.cbx. It is heavily modified, with the +% intention of providing inline citations (and a reference list) for +% the author-date style of the Chicago Manual of Style, 17th edition. -% This is a biblatex citation style file, adapted from Lehman's -% authoryear-comp.cbx. It is heavily modified, with the intention of -% providing inline citations (and a reference list) for the -% author-date style of the Chicago Manual of Style, 16th edition. - -\ProvidesFile{chicago-authordate.cbx}[2018/01/11 v 3.10 biblatex +\ProvidesFile{chicago-authordate.cbx}[2020/04/20 v 3.14 biblatex citation style] \RequireCitationStyle{chicago-dates-common} @@ -39,7 +37,7 @@ citation style] {#1\isdot}% {\mkbibquote{#1\isdot}}} -\DeclareFieldFormat[artwork,image]{title}{% +\DeclareFieldFormat[artwork,image,inreference]{title}{% \iffieldundef{entrysubtype}% {\mkbibemph{#1}\isdot}% {#1\isdot}} @@ -52,11 +50,15 @@ citation style] \DeclareFieldAlias[image]{lostitle}[artwork]{title} -\DeclareFieldFormat[letter,patent]{title}{#1\isdot} +\DeclareFieldAlias[inreference]{citetitle}[artwork]{title} + +\DeclareFieldAlias[inreference]{lostitle}[artwork]{title} + +\DeclareFieldFormat[letter]{title}{#1\isdot} -\DeclareFieldFormat[letter,patent]{citetitle}{#1\isdot} +\DeclareFieldFormat[letter]{citetitle}{#1\isdot} -\DeclareFieldFormat[letter,patent]{lostitle}{#1\isdot} +\DeclareFieldFormat[letter]{lostitle}{#1\isdot} \DeclareFieldFormat[suppbook,suppcollection]{title}{\mkbibemph{#1}\isdot} @@ -114,11 +116,24 @@ citation style] \DeclareFieldFormat{mainsubtitle}{\mkbibemph{#1}} \DeclareFieldFormat[audio,music,video]{title}{% - \iffieldundef{booktitle}% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% {\mkbibemph{#1}\isdot}% {\mkbibquote{#1\isdot}}} -\DeclareFieldAlias[video]{citetitle}[video]{title} +\DeclareFieldFormat[video]{citetitle}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\mkbibemph{#1}\isdot}% + {\ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}}} \DeclareFieldAlias[video]{lostitle}[video]{title} @@ -212,6 +227,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \mkbibemph{#1}} @@ -225,6 +245,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \mkbibquote{#1}} @@ -238,6 +263,11 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{\bibstring{chapter}}% \endgroup \bibstring{chapter}~#1\addspace\bibstring{in}} @@ -251,10 +281,33 @@ citation style] not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{\bibstring{chapter}}% \endgroup \bibstring{chapter}~#1} +\DeclareFieldFormat{muschapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{track}}% + \endgroup + \bibstring{track}~#1}% + \DeclareFieldFormat{sitnoformat}{#1} \DeclareFieldFormat{sjtnoformat}{#1} \DeclareFieldFormat{stnoformat}{#1} @@ -271,15 +324,15 @@ citation style] {\iffieldundef{issuetitle}% {\iffieldundef{title}% {\iffieldundef{booktitle}% - {\iffieldundef{maintitle}% - {\iffieldundef{journaltitle}% + {\iffieldundef{journaltitle}% Switch order for 17th ed. + {\iffieldundef{maintitle}% {}% - {\DeclareFieldAlias{jtnoformat}{title:hook}% - \DeclareFieldAlias{sjtnoformat}{title}% - \DeclareFieldAlias{journaltitle}{default}% - \DeclareFieldAlias{shortjournal}{series}% - \DeclareFieldAlias{jtsnoformat}{title:hook}}}% - {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\DeclareFieldAlias{jtnoformat}{title:hook}% + \DeclareFieldAlias{sjtnoformat}{title}% + \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{jtsnoformat}{title:hook}}}% {\DeclareFieldAlias{booktitle}{title:hook}}}% {\DeclareFieldAlias{tnoformat}{title:hook}% \DeclareFieldAlias{stnoformat}{citetitle}% @@ -295,7 +348,9 @@ citation style] {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% - {\DeclareFieldAlias{chapter}{avchapter:hook}}% + {\ifentrytype{music}% + {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}% + {\DeclareFieldAlias{chapter}{avchapter:hook}}}% {\DeclareFieldAlias{tnoformat}{title:hook}% \DeclareFieldAlias{stnoformat}{citetitle}% \DeclareFieldAlias[video]{title}{default}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.bbx new file mode 100644 index 00000000000..e0bde354e9e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.bbx @@ -0,0 +1,4935 @@ +% This is a biblatex style file, adapted mainly from Lehman's +% standard.bbx and from chicago-notes.bbx. It provides the +% reference list formatting for the Chicago author-date style. + +\ProvidesFile{chicago-authordate16.bbx}[2020/04/20 v 3.14 biblatex +bibliography style] + +%%%% Initialize and format bibliography and los %%%% + +\providetoggle{cms@citejtabb}% Here for Sourcemap declaration +\providetoggle{cms@bibjtabb}% + +\DeclareFieldFormat{shorthandwidth}{#1} + +\DeclareFieldFormat{shortjournalwidth}{% + \ifthenelse{\ifentrytype{jurisdiction}\OR% + \ifentrytype{legal}\OR\ifentrytype{legislation}}% + {\textbf{#1}\isdot}% + {\mkbibemph{\textbf{#1}}\isdot}}% + +\newlength{\lositemsep} + +\defbibenvironment{bibliography}% New for 0.9a + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}}% + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{losnotes} + {\list + {\printfield[shorthandwidth]{shorthand}}% + {\footnotesize% + \setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{losendnotes} + {\list + {\printfield[shorthandwidth]{shorthand}}% + {\enotesize% + \setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist\nopunct\vspace{-\baselineskip}}% Kludges for endnotes + {\item} + +\defbibenvironment{shortjournal}% + {\list + {\printfield[shortjournalwidth]{shortjournal}}% + {\setlength{\labelwidth}{\shortjournalwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.7\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{sjnotes}% + {\list + {\printfield[shortjournalwidth]{shortjournal}}% + {\footnotesize% + \setlength{\labelwidth}{\shortjournalwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{sjendnotes}% + {\list + {\printfield[shortjournalwidth]{shortjournal}}% + {\enotesize% + \setlength{\labelwidth}{\shortjournalwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist\nopunct\vspace{-\baselineskip}} + {\item} + +\defbibcheck{shorthand}{% + \iftoggle{cms@los}% + {\iffieldundef{shorthand}% + {\skipentry}% + {\ifcsdef{\strfield{shorthand}}% + {\skipentry}% + {\savefieldcs{shorthand}{\strfield{shorthand}}}}}% + {}}% + +\defbibcheck{shortjournal}{% Only one list + \iffieldundef{shortjournal}% + {\skipentry}% + {\ifcsdef{\strfield{shortjournal}=\strfield{journaltitle}}% + {\skipentry}% + {\savefieldcs{shortjournal}% + {\strfield{shortjournal}=\strfield{journaltitle}}}}}% + +% \defbibcheck{shortjournal}{% Multiple lists +% \ifcsdef{cms@shjour}% +% {\iffieldequals{shortjournal}{\cms@shjour}% +% {\skipentry}% +% {\savefield{shortjournal}{\cms@shjour}}}% +% {\savefield{shortjournal}{\cms@shjour}}} + +\AtBeginBibliography{% + \togglefalse{cms@headlessnote}}% + +\AtEveryBibitem{% + \global\csundef{@cmsst}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}}% + +\AtEveryLositem{% + \global\csundef{@cmsst}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}}% + +\AtEveryBiblistitem{shortjournal}{% + \global\csundef{@cmsst}% + \ifthenelse{\ifentrytype{jurisdiction}\OR% + \ifentrytype{legal}\OR\ifentrytype{legislation}}% + {\clearlist{location}}% + {}}% + +\InitializeBibliographyStyle{% + \let\bbx@lasthash\undefined}% + +%%%% Bibliography-specific bibstrings %%%% + +%% Now in *.lbx %% + +%%%% Author, Editor, Translator, and Compiler Macros %%%% + +\renewbibmacro*{name:last-first}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifblank{#3}{}{% + \ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot}% + {\mkbibnameprefix{#3}\isdot}% + \ifpunctmark{'}{}{\addhighpenspace}}% + \mkbibnamelast{#1}\isdot + \ifblank{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot}% + \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}% + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamelast{#1}\isdot% + \ifblank{#2#3#4}{}{\addcomma}% + \ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}\isdot}% + \ifblank{#3}{}{\addlowpenspace\mkbibnameprefix{#3}\isdot}% + \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}} + +\renewbibmacro*{name:first-last}[4]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \ifblank{#2}{}{\mkbibnamefirst{#2}\isdot\addlowpenspace}% + \ifblank{#3}{}{% + \mkbibnameprefix{#3}\isdot + \ifpunctmark{'}% + {}% + {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{% + \iftoggle{cms@jrcomma}% + {\ifnumeral{#4}% + {\addlowpenspace\mkbibnameaffix{#4}\isdot}% + {\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot% + \ifboolexpr{% + test{\ifnumless{\value{listcount}}{\value{listtotal}}}% + and + test{\ifnumless{\value{listcount}}{\value{maxnames}}}% + }% + {\addcomma}% + {}}}% + {\addlowpenspace\mkbibnameaffix{#4}\isdot}}}% + +\@ifpackagelater{biblatex}{2016/03/01}% For biblatex 3.3 +{\renewbibmacro*{name:family-given}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifdefvoid{#3}{}{% + \ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot}% + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}% + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamefamily{#1}\isdot + \ifboolexpr{% + test {\ifdefvoid{#2}}% + and + test {\ifdefvoid{#3}}% + }% + {}{\revsdnamepunct}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}% + \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}% + +\renewbibmacro*{name:given-family}[4]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}% + \ifdefvoid{#3}{}{% + \mkbibnameprefix{#3}\isdot + \ifprefchar + {}% + {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{% + \iftoggle{cms@jrcomma}% + {\ifnumeral{#4}% + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + {\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot% + \ifboolexpr{% Test needed? + test{\ifnumless{\value{listcount}}{\value{listtotal}}}% + and + test{\ifnumless{\value{listcount}}{\value{maxnames}}}% + }% + {\revsdnamepunct}% + {}}}% + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}}{}% + +\renewbibmacro*{author/editor}{% + \ifboolexpr{% + test {\ifuseauthor}% + or + togl {cms@headlessnote}% + }% + {\usebibmacro{author}}% + {\ifusenamea% + {\usebibmacro{pickeditor}}% + {\ifuseeditor% + {\usebibmacro{moreeditor}}% + {\ifusenameb% + {\usebibmacro{picktranslator}}% + {\ifusetranslator% + {\usebibmacro{moretranslator}}% + {\ifusenamec% + {\usebibmacro{compiler}}% + {\let\bbx@lasthash\undefined}}}}}}}% + +\renewbibmacro*{author}{% + \iftoggle{cms@headlessnote}% + {\usebibmacro{justauthor}}% + {\usebibmacro{moreauthor}}} + +\newbibmacro*{justauthor}{% + \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% + {\let\bbx@lasthash\undefined}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}}% + {\printtext{\bibnamedash}% + \ifentrytype{customc}% + {\newunit}% + {\setunit{\addspace}}\printfield{nameaddon}}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{author}\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames{author}% + \ifentrytype{customc}{}% + {\setunit{\addspace}\printfield{nameaddon}}\bibcloseparen% + \ifentrytype{customc}% + {\newunit\printfield{nameaddon}}% + {}}% + {\printnames{author}% + \ifentrytype{customc}{\newunit}{\setunit{\addspace}}% + \printfield{nameaddon}}% + \savefield{fullhash}{\bbx@lasthash}}}}}} + +\newbibmacro*{moreauthor}{% + \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% + {\usebibmacro{pickeditor}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}}% + {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{author}\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames{author}% + \setunit{\addspace}\printfield{nameaddon}\bibcloseparen}% + {\printnames{author}% + \setunit{\addspace}% + \printfield{nameaddon}}% + \savefield{fullhash}{\bbx@lasthash}}}}}} + +\newbibmacro*{pickeditor}{% + \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% + {\usebibmacro{moreeditor}}% + {\usebibmacro{parteditor}}} + +\newbibmacro*{moreeditor}{% + \ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames{editor}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\editordelim}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{editstrg}}}% + +\renewbibmacro*{editor}{% + \iftoggle{cms@headlessnote}% + {}% + {\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% + {\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames{editor}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\editordelim}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{editstrg}}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\nameadelim}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames[sortname]{namea}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\nameadelim}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parteditstrg}}}} + +\newbibmacro*{parteditor}{% + \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addcomma}% + \printfield{nameaddon}\nameadelim}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames[sortname]{namea}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\nameadelim}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parteditstrg}}} + +\newbibmacro*{picktranslator}{% + \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% + {\usebibmacro{moretranslator}}% + {\usebibmacro{parttranslator}}} + +\newbibmacro*{moretranslator}{% + \ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}% + {\usebibmacro{compiler}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames[sortname]{translator}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\newcunit}% + {\printnames[sortname]{translator}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{transstrg}}} + +\newbibmacro*{parttranslator}{% + \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% + {\usebibmacro{compiler}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames[sortname]{nameb}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\newcunit}% + {\printnames[sortname]{nameb}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parttransstrg}}} + +\newbibmacro*{compiler}{% + \ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}% + {\let\bbx@lasthash\undefined}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addcomma}% + \printfield{nameaddon}\newcunit}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printnames[sortname]{namec}% + \setunit{\addspace}\printfield{nameaddon}% + \bibcloseparen\newcunit}% + {\printnames[sortname]{namec}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit}% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{compilestrg}}} + +\renewcommand*{\revsdnamedelim}{\addcomma} + +\DeclareNameAlias{author}{sortname}% Needed in 0.9 +\DeclareNameAlias{editor}{sortname} +\DeclareNameAlias{translator}{sortname} + +%%%% Drivers for Bibliography entries and Shorthands %%%% + +\DeclareBibliographyDriver{shorthand}{% + \iftoggle{cms@los}% + {\ifnameundef{labelname}% + {\mkbibemph{\bibstring{see}}% + \addspace% + \usebibmacro{shorthand:label}}% + {\mkbibemph{\bibstring{see}}% + \addspace% + \ifboolexpr{% + test {\iffieldequalstr{labelnamesource}{shortauthor}}% + and + test {\ifentrytype{manual}}% + }% + {\printnames{\thefield{labelnamesource}}}% + {\ifentrytype{customc}% + {\clearfield{nameaddon}}% + {}% + \usebibmacro{author/editor}}}% + \finentry}% + {\iftoggle{cms@fullshhand}% + {\usedriver{\frenchspacing}% + {\thefield{entrytype}}% + \finentry}% + {\ifnameundef{labelname}% + {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \ifentrytype{periodical}}% + {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% + \newcunit}}% + {\ifentrytype{manual}% + {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% + {}}}% + {\ifboolexpr{% + test {\iffieldequalstr{labelnamesource}{shortauthor}}% + and + test {\ifentrytype{manual}}% + }% + {\printnames{\thefield{labelnamesource}}\newunit}% + {\ifentrytype{customc}% + {\usebibmacro{justauthor}\setunit{\addspace}}% + {\usebibmacro{author/editor}\newunit}}}% + \printfield[lostitle]{title}% + \finentry}}} + +\DeclareBibliographyDriver{shortjournal}{% + \iffieldundef{journaltitle}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}}% + {\printtext[journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}}% + \finentry}% + +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \pertype{periodical} + \step[fieldsource=shorttitle, final] + \step[fieldset=shortjournal, origfieldval] + } + \map{ + \step[fieldsource=pubstate, match={forthcoming}, final] + \step[fieldset=year, origfieldval, final] + \step[fieldsource=year, match=\regexp{(forthcoming)}, + replace=\regexp{\\bibstring\{$1\}}]%$ + \step[fieldset=pubstate, null] + } + \map{ + \pertype{article} + \pertype{periodical} + \pertype{review} + \pertype{suppperiodical} + \step[fieldsource=entrysubtype, match={newspaper}, + replace={magazine}] + } + \map{ + \pertype{jurisdiction} + \pertype{legal} + \pertype{legislation} + \step[fieldsource=journaltitle, final] + \step[fieldset=shortjournal, origfieldval] + } + \map[overwrite]{ + \pertype{jurisdiction} + \step[fieldsource=shortjournal, match=\regexp{[^\\adddot][a-z]}, final] + \step[fieldset=shortjournal, fieldvalue=\addnbspace, append] + } + \map{ + \pertype{legislation} + \step[fieldsource=title, match=\regexp{Const}, final] + \step[fieldset=entrysubtype, fieldvalue=constitution] + } + \map{ + \pertype{legislation} + \step[fieldsource=entrysubtype, match=\regexp{canada}, final] + \step[fieldsource=bookpagination, match={section}, + replace={canadasection}] + \step[fieldsource=pagination, match={section}, + replace={canadasection}] + } + \map[overwrite]{ + \step[fieldsource=subtitle, final] + \step[fieldsource=title, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=title, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=booksubtitle, final] + \step[fieldsource=booktitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=booktitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=issuesubtitle, final] + \step[fieldsource=issuetitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=issuetitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=journalsubtitle, final] + \step[fieldsource=journaltitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=journaltitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=mainsubtitle, final] + \step[fieldsource=maintitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=year, match=\regexp{^\\mkbibbrackets\{(.+)\}(.*)$},%$ + replace=\regexp{[$1]$2}]% Kludge for backward compat. + } + } +}% + +\DeclareBibliographyDriver{article}{% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{bibindex}% + \usebibmacro{mag+news+author}% + \newunit\newblock + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \usebibmacro{mag+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock% + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock% + \usebibmacro{bibreprint}% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \newunit\newblock% 17th ed. clarifies punctuation + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{mag+news+date}% + \newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef{\bbx@lasthash}{}{\usebibmacro{mag+news+title}}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit*{\addperiod\addspace}\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock% + \usebibmacro{bibreprint}% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \newunit\newblock% 17th ed. + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? + \usebibmacro{journal+issue+year+pages}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{artwork}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newcunit\newblock + \usebibmacro{date}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{bibreprint}% + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{audio}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifboolexpr{% + test {\ifundef{\bbx@lasthash}}% + and + not test {\iffieldundef{title}}% + }% + {\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifboolexpr{% + test {\ifundef{\bbx@lasthash}}% + or + test {\iffieldundef{title}}% + }% + {}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newcunit%\setunit{\addperiod\addspace}% + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \iffieldundef{booktitle}% + {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\addcomma\addspace}}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newunit% unit, not cunit? + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newunit% ??? Editorpunct maybe not right here? + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% Reversed with bibreprint 16th ed. (?) + \newunit\newblock + \usebibmacro{bibreprint}%\printorigdate% + \usebibmacro{publ+loc+year}% + \newunit + \printfield{type}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isan}% + \setunit*{\addcomma\addspace}\newblock% + \printfield{ismn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookcrossref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}% + \iftoggle{cms@bookpages}% + {}% + {\clearfield{pages}}% + \printfield{chapter}% + \setunit*{\addcomma\addspace}% + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newcunit\newblock + \printlist[][-\value{listtotal}]{lista}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{bookinbook}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookcrossref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \printfield{chapter}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{booklet}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{howpubl+loc+year}% + \newunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookcrossref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \usebibmacro{editorpunct}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newunit + \usebibmacro{volume+or+volumes}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{customc}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{justauthor}% + \iffieldundef{nameaddon}% + {\newunit}% + {\setunit{\addspace}}% + \usebibmacro{italtitle+stitle}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{image}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \setunit*{\addcomma\addspace}% 16th ed. added * (?) + \usebibmacro{date}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{bibreprint}% + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@crossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@crossref}% + }% + {\setunit{\addperiod\addspace}% + \usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@crossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@crossref}% + }% + {\setunit{\addperiod\addspace}% Moved here. + \usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@crossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@crossref}% + }% + {\setunit{\addperiod\addspace}% + \usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit\newblock + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{reference+title}%{italtitle+stitle} + \newunit\newblock + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% need asterisk? + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \printfield{chapter}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newcunit\newblock + \printlist[][-\value{listtotal}]{lista}% + \newcunit\newblock% \setunit{\addspace}% 16th ed. + \ifnameundef{author}% + {}% + {\printtext{% 16th ed. + \bibstring{by}% + \addspace% + \printnames[byauthor]{author}}}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{jurisdiction}{% + \iffieldequalstr{entrysubtype}{square}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext[brackets]{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\iffieldequalstr{entrysubtype}{round}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext[parens]{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \setunit{\addspace}% + \printlist{origpublisher}% + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printlist{origlocation}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \ifboolexpr{% + test {\iffieldundef{year}}% + and + test {\iflistundef{location}}% + }% + {}% + {\printtext[parens]{% + \printlist{location}% + \setunit*{\addspace}% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}} + +\DeclareBibliographyDriver{legal}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \newcunit%\setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \setunit{\addspace}% + \printfield{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{legislation}{% + \iffieldequalstr{entrysubtype}{uk}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \newcunit%\setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \setunit{\addspace}% + \printfield{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + \usebibmacro{juridpostnote}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\iffieldequalstr{entrysubtype}{hansard}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \setunit{\addspace}% + \printfield[hansardser]{series}% + \setunit{\addspace}% + \iffieldundef{year}% + {}% + {\printtext[parens]{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \usebibmacro{juridpostnote}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addspace}% FIXME? + \printfield[juridnum]{number}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \newcunit% + \printfield{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + \usebibmacro{juridpostnote}% + \setunit{\addspace}% + \ifboolexpr{% + test {\iffieldundef{year}}% + and + test {\iffieldundef{usera}}% + and + test {\iflistundef{location}}% + }% + {}% + {\printtext[parens]{% + \printlist{location}% + \setunit*{\addspace}% + \printfield{usera}% + \setunit*{\addspace}% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit{\addspace}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}} + +\DeclareBibliographyDriver{letter}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \printtext[title]{% + \printfield[noformat]{title}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit*{\addcomma\addspace}% + \usebibmacro{letter+date}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock%\bibsentence + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@crossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@crossref}% + }% + {\usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\newunit}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\newunit}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author+org}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock + \usebibmacro{edition}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{note}% + \newunit\newblock% + \usebibmacro{bibreprint}% + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \iffieldundef{entrysubtype}% + {\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}}% + {}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \iffieldundef{entrysubtype}% + {\ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}}% + {\printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit\newblock% + \usebibmacro{unpubl+letter+date}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{bibreprint}% + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \iffieldundef{entrysubtype}% + {\newcunit\newblock% + \usebibmacro{date}}% + {}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{music}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifboolexpr{% + test {\ifundef{\bbx@lasthash}}% + and + not test {\iffieldundef{title}}% + }% + {\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifboolexpr{% + test {\ifundef{\bbx@lasthash}}% + or + test {\iffieldundef{title}}% + }% + {}{\usebibmacro{italtitle+stitle}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \usebibmacro{music+eventdate}%\printeventdate + \newunit\newblock + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \iffieldundef{booktitle}% + {\newunit}% Fix customc? + {\newcunit}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newunit% unit, not cunit? + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newunit% ??? Editorpunct maybe not right here? + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{ctitleaddonpunct}% + \printfield{maintitleaddon}}}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}% + \newunit\newblock + \printlist{publisher}% + \setunit*{\addcomma\addspace}\newblock + \printfield{series}% + \setunit{\addspace}% + \printfield{number}% + \newcunit\newblock + \usebibmacro{date}% + \newunit + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newcunit\newblock + \printfield{type}% + \newunit\newblock + \usebibmacro{pubstate}% 16th ed -- origdate instead, as above? + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{iswc}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{mvbook}{book} + +\DeclareBibliographyAlias{mvcollection}{collection} + +\DeclareBibliographyAlias{mvproceedings}{proceedings} + +\DeclareBibliographyAlias{mvreference}{reference} + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bibreprint}% + \printlist{organization}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \ifthenelse{\iffieldundef{urlyear}\AND\iffieldundef{urlmonth}}% + {}% + {\printurldate}% Date fix + \newunit\newblock + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \clearfield{url}}}% + {\printfield{doi}}% + \newunit\newblock% + \usebibmacro{eprint}% + \newunit\newblock + \printfield{url}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{author+holder}% + holder? + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmscitesortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \setunit{\addperiod\addspace}% + \printfield{note}% + \setunit{\addperiod\addspace}% + \usebibmacro{bibreprint}% + \printfield{type}% + \setunit{\addspace}% + \printfield{number}% + \iflistundef{location}% + {}% + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \iftoggle{cms@switchdates}% + {\bibstring{patentfiled}% + \setunit{\addspace}% + \printdate% + \setunit{\addcomma\addspace}% + \bibstring{and}% + \addspace\bibstring{patentissued}\addspace% + \printorigdate}% + {\iffieldundef{origyear}% + {\iffieldundef{year}% + {}% + {\bibstring{patentfiled}\setunit{\addspace}% + \printdate}}% + {\bibstring{patentfiled}\setunit{\addspace}% + \printorigdate%\usebibmacro{date}% + \setunit{\finalandcomma\addspace\bibstring{and}% + \addspace\bibstring{patentissued}\addspace}% + \usebibmacro{date}}}% + \newcunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \iftoggle{cms@related}% + {\newunit% + \usebibmacro{related:init}% + \usebibmacro{related}}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{bibindex}% + \usebibmacro{editor}% + \newunit\newblock + \ifboolexpr{% + test {\ifundef{\bbx@lasthash}}% + and + not togl {cms@origpublished}% + }% + {\ifboolexpr{% + togl {cms@bibjtabb}% + and + test {\ifbibliography}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \clearlist{location}% + \clearfield{shorttitle}% + \clearfield{title}% + \clearfield{subtitle}% + \newunit\newblock}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \usebibmacro{issuetitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{bibreprint}% + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{periodical+date+issue}% + \newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{editor}% + \newunit\newblock + \ifboolexpr{% + test {\ifundef{\bbx@lasthash}}% + and + not togl {cms@origpublished}% + }% + {\ifboolexpr{% + togl {cms@bibjtabb}% + and + test {\ifbibliography}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \clearlist{location}% + \clearfield{shorttitle}% + \clearfield{title}% + \clearfield{subtitle}% + \newunit\newblock}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \usebibmacro{issuetitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit*{\addperiod\addspace}\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{bibreprint}% + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? + \usebibmacro{periodical+issue+year+pages}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookcrossref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{volume+or+volumes}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{bibprexref}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{bibpostxref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{reference}{% + \usebibmacro{bibindex}% + \usebibmacro{reference+title}%{italtitle+stitle} + \newunit\newblock + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% need asterisk? + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \printfield{chapter}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \newcunit + \printfield{series}% + \setunit{\addnbspace}% + \printfield{number}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{inst+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isrn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+author}}% + {\usebibmacro{author/editor}}% + \newunit\newblock + \ifundef{\bbx@lasthash}% + {\ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \newunit}}% + {}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef{\bbx@lasthash}% + {}% + {\ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}% + \newcunit\newblock + \usebibmacro{music+eventdate}% 16th ed. + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock% + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock% + \usebibmacro{bibreprint}% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newunit\newblock + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+date}% + \newcunit\newblock + \usebibmacro{chap+pag}}% + {\usebibmacro{journal+issue+year+pages}}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{suppbook}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author}% + \newunit\newblock + \ifundef\bbx@lasthash{% + \usebibmacro{inforaft}% + \setunit{\addspace}\newblock + \usebibmacro{italtitle+stitle}% + \newcunit\newblock + \usebibmacro{bybookauthor}% + \clearname{bookauthor}% + \newunit\newblock}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{% + \usebibmacro{inforaft}% + \setunit{\addspace}\newblock + \usebibmacro{italtitle+stitle}}% + \newunit + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newcunit + \usebibmacro{bybookauthor}% + \newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newcunit% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newunit + \usebibmacro{volume+or+volumes}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{bibreprint}% + \usebibmacro{publ+loc+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{suppcollection}{suppbook} + +\DeclareBibliographyAlias{suppperiodical}{review} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \printfield{note}% + \setunit{\addperiod\addspace}\newblock% + \usebibmacro{bibreprint}% + \usebibmacro{type+inst+year}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% + \newunit%usebibmacro{byauthorpunct}% Why does this work? No idea. + \usebibmacro{byauthor}% Same in thesis type, as well. 16th ed. + \setunit{\addperiod\addspace}% + \usebibmacro{byeditor+others}% Fix bug ??? + \newunit\newblock + \usebibmacro{bibreprint}% + \printfield{howpublished}% + \setunit*{\addcomma\addspace}\newblock% + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \printfield{eventtitle}% + \setunit*{\ctitleaddonpunct}\newblock% + \printfield{eventtitleaddon}% + \setunit*{\addcomma\addspace}% + \printfield{venue}% + \setunit*{\addcomma\addspace}% + \printlist{location}% + \setunit*{\addcomma\addspace}\newblock% + \iffieldundef{eventmonth}% + {\usebibmacro{date}}% + {\printeventdate}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{video}{% + \usebibmacro{bibindex}% + \usebibmacro{shorthand:author}% + \usebibmacro{author/editor}% + \newunit\newblock + \ifundef\bbx@lasthash{% + \usebibmacro{video+title}% Simplifies trad style + \iffieldundef{booktitle}% Comma after italics, period after quotes + {\setunit{\ctitleaddonpunct}}% + {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% + \printfield{titleaddon}%\usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}% + \newunit\newblock}{}% + \usebibmacro{cmsbibsortdate}% + \newunit\newblock + \ifundef\bbx@lasthash{}{% + \usebibmacro{video+title}% Simplifies trad style + \iffieldundef{booktitle}% Comma after italics, period after quotes + {\setunit{\ctitleaddonpunct}}% + {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% + \printfield{titleaddon}%\usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \setunit{\addperiod\addspace}% + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \iffieldundef{booktitle}% + {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\addcomma\addspace}}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newunit% unit, not cunit? + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newunit% ??? Editorpunct maybe not right here? + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{music+eventdate}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}% 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \usebibmacro{pubstate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isan}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{cms@related}% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + +%%%% Other Formatting Macros %%%% + +\newbibmacro*{bib+doi+url}{% 16th ed. + \ifboolexpr{% + not togl {cms@url}% + or + ( + test {\iffieldundef{urlyear}}% + and + test {\iffieldundef{urlmonth}}% + ) + }% + {}% + {\printurldate}% Date fix + \iffieldundef{addendum}% + {\newunit\newblock}% + {\newcunit\newblock}% + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \setunit*{\addperiod\addspace}\newblock% + \clearfield{url}}}% + {\ifboolexpr{% + togl {cms@doi}% + and + not test {\iffieldundef{doi}}% + }% + {\printfield{doi}% + \setunit*{\addperiod\addspace}\newblock}% + {}}% + \ifboolexpr{% + togl {cms@eprint}% + and + not test {\iffieldundef{eprint}}% + }% + {\usebibmacro{eprint}% + \setunit*{\addperiod\addspace}\newblock}% + {}% + \ifboolexpr{% + togl {cms@url}% + and + not test {\iffieldundef{url}}% + }% + {\printfield{url}}% + {}}% + +\newbibmacro*{shorthand:author}{% + \ifboolexpr{% + test {\iffieldundef{shorthand}}% + or + not togl {cms@los}% + }% + {\togglefalse{cms@authorparens}% + \global\csundef{cms@shauthor}}% + {\ifboolexpr{% + (( + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + or + test {\iffieldequals{shorthand}{\cms@shauthor}}% + ) + and + togl {cms@namedash}% + ) + and + not test {\iffirstonpage}% + }% + {\togglefalse{cms@authorparens}}% + {\toggletrue{cms@authorparens}% + \savefield{shorthand}{\cms@shauthor}% + \printfield{shorthand}\addspace}}} + +\newbibmacro*{shorthand:label}{% Test this + \ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \ifentrytype{periodical}}% Simplifies .bib creation + {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}}}% + {\ifentrytype{manual}% + {\printtext[bibhyperref]{\printlist{organization}}}% + {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}}% + +\newbibmacro*{labelyear+extrayear}{% + \ifboolexpr{ ( + test {\ifentrytype{music}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + test {\ifentrytype{video}}% + ) + and + togl {cms@avdate}% + }% + {\usebibmacro{av+labelyear+extrayear}}% + {\iftoggle{cms@ordate}% + {\usebibmacro{origfirst+labelyear+extrayear}}% + {\usebibmacro{standard+labelyear+extrayear}}}} + +\protected\def\cmsunspecified#1#2{% + \ifboolexpr{% + test {\iffieldundef{#2dateunspecified}}% + or + togl {cms@alwaysrange}% + }% + {\ifboolexpr{% + test {\iffieldundef{#2endyear}}% + or + test {\iffieldequalstr{#2dateera}{bce}}% + or + not togl {cms@compyears}% + or + not test {\iffieldnum{#2year}}% + or + not test {\iffieldnum{#2endyear}}% + or + not test {\if@cms@onlyyears{#2}}% + }% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}% + {\cmscompcenturies{#2}% + \ifboolexpr{% + ( + test {\if@cms@bracket}% + and + not test {\if@cms@endbracket} + ) + or + ( + not test {\if@cms@bracket}% + and + test {\if@cms@endbracket}% + ) + or + ( + test {\if@cms@endcirca}% + and + not test {\if@cms@circa}% + ) + or + not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}% + }% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearindecade}}% + and + test {\ifbibstring{decade}}% + and + not togl {cms@decaderange}% + }% + {\cmsmkdecade{#1}{#2}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearincentury}}% + and + test {\ifbibstring{century}}% + and + not togl {cms@centuryrange}% + }% + {\cmsmkcentury{#2}}% + {\iftoggle{cms@compyears}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}% + +\protected\def\cmscompressyears#1{% + \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}% + \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}% + \cms@tempb}% + +\newcount\cms@tempcnta +\newcount\cms@tempcntb + +\def\cmscompcenturies#1{% + \cms@tempcnta=\thefield{#1year}% + \divide\cms@tempcnta100 + \cms@tempcntb=\thefield{#1endyear}% + \divide\cms@tempcntb100} + +\protected\def\cmsformatextra{% + \ifboolexpr{% + test {\if@cms@bracket}% + and + not togl {cms@noyearbrackets}% + }% + {\usebibmacro{cmsextradate}% + \global\boolfalse{cms:extraparens}}% + {\ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}} + +\protected\def\cmsformatendextra{% + \ifboolexpr{% + test {\if@cms@endbracket}% + and + test {\if@cms@bracket}% + and + not togl {cms@noyearbrackets}% + }% + {\usebibmacro{cmsextradate}% + \global\boolfalse{cms:extraparens}}% + {\ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}} + +\newbibmacro*{cmsextradate}{% For use with some date specs + \iffieldundef{extradate}% + {}% + {\setunit*{}% + \printfield{extradate}\clearfield{extradate}}} + +\newbibmacro*{cmsparensextradate}{% For use with other date specs + \iffieldundef{extradate}% + {}% + {\setunit*{}% + \mkbibparens{\printfield{extradate}}\clearfield{extradate}}} + +\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language + \ifdefstring\blx@dateera{astronomical}% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifnumless{0-\thefield{#1}}{0}% + {\printtext{\csuse{bibdateera\blx@tempa prefix}}}% + {}}% + {}% + \endgroup}% + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\ifdefstring\blx@tempa{end}% + {\iftoggle{cms@bc}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}% + {}}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}}% + {}}% + \endgroup}% + {}}% + {}}} + +\protected\def\cmsdateeraprint#1{% AD/BC order depends on language + \ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1} + {\begingroup + \let\blx@tempa\@empty + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype + \def\blx@tempa{end}} + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}}}% + {}% + \endgroup} + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{secular}}% + or + ( + test {\ifdefstring\blx@dateera{christian}}% + and + not test {\if@cms@adfirst}% + ) + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}% + \global\booltrue{cms:extraparens}\relax% + \fi}}}% + {\ifdefstring\blx@tempa{end}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}% + \global\booltrue{cms:extraparens}}% + {}}% + {\csuse{if\blx@datetype enddateera}{ce}% + {}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}% + \global\booltrue{cms:extraparens}}% + {}}}}% + \endgroup}% + {}}% + {}}} + +\newrobustcmd*{\cms@datebrackets}{% + \iftoggle{cms@nodatebrackets}% + {\global\boolfalse{cms:bracket}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@yearbrackets}{% + \iftoggle{cms@noyearbrackets}% + {\global\boolfalse{cms:bracket}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifdateyearsequal{#2}{#2end}% + {\iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{}{}{#2day}}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#2endyear}% + {\iffieldundef{#2endmonth}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\bibdaterangesep% + \csuse{mkbibseasondate#1}{}{#2endseason}}}% + {\bibdaterangesep% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdatedash% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkbibrangefull}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \ifboolexpr{% + test {\ifdateyearsequal{#2}{#2end}}% + and + test {\iffieldundef{#2month}}% + and + test {\iffieldundef{#2day}}% + }% + {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\cmsdateeraprint{#2year}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdaterangesep% + \iffieldundef{#2endseason}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkyearrangeextra}[3][]{% + \global\boolfalse{cms:extraparens}% + \begingroup + \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% + \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \blx@metadateinfo{#3}% + \iffieldundef{#3year} + {\blx@nounit}% + {\printtext{% + \if@cms@bracket% + {\cms@yearbrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \ifdateyearsequal{#3}{#3end}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}% + \clearfield{#3endyear}}% + {\ifblank{#1}% + {\cmsunspecified{#2}{#3}}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}}% + {\ifthenelse{\iffieldundef{#3endyear}\OR% + \iffieldequalstr{#3endyear}{}}% + {\global\booltrue{cms:extraparens}}% + {}% + \bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#3endyear} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \cmsformatextra}%\usebibmacro{cmsextradate}% + {\iffieldequalstr{#3endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \cmsformatextra%\usebibmacro{cmsextradate}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@yearbrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}% + \csuse{mkbibdate#2}{#3endyear}{}{}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#3endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#3endyear}}}% + {\if@cms@enduncertain% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}% + \cmsdateeraprint{#3endyear}}% + \cmsformatendextra}}}}% + \endgroup}% + +\def\if@cms@adfirst{% + \ifboolexpr{% + test {\ifdefstring\blx@languagename{american}}% + or + test {\ifdefstring\blx@languagename{british}}% + or + test {\ifdefstring\blx@languagename{canadian}}% + or + test {\ifdefstring\blx@languagename{english}}% + or + test {\ifdefstring\blx@languagename{UKenglish}}% + or + test {\ifdefstring\blx@languagename{USenglish}}% + or + test {\ifdefstring\blx@languagename{australian}}% + or + test {\ifdefstring\blx@languagename{newzealand}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@bracket{% + \ifboolexpr{% + ( + test {\ifdatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endbracket{% + \ifboolexpr{% + ( + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@circa{% + \ifboolexpr{% + test {\ifdatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@uncertain{% + \ifboolexpr{% + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endcirca{% + \ifboolexpr{% + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@enduncertain{% + \ifboolexpr{% + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@onlyyears#1{% + \ifboolexpr{% + test {\iffieldundef{#1month}}% + and + test {\iffieldundef{#1endmonth}}% + and + test {\iffieldundef{#1day}}% + and + test {\iffieldundef{#1endday}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\newbibmacro*{standard+labelyear+extrayear}{% + \ifthenelse{\iffieldundef{labelyear}\OR% + \iffieldequalstr{labelyear}{nodate}}% or new declaration ??? + {\ifboolexpr{% + test {\ifentrytype{misc}}% + or + test {\ifentrytype{inreference}}% + or + test {\ifentrytype{reference}}% + or + test {\ifentrytype{mvreference}}% + or + not togl {cms@nodates}}% + {}% + {\bibstring{nodate}}}% + {\iffieldundef{year}% + {\iffieldundef{eventyear}% + {\iffieldundef{origyear}% + {\printurldateextra% + \usebibmacro{clear+datefield}{url}}% + {\printorigdateextra% + \usebibmacro{clear+datefield}{orig}}}% + {\printeventdateextra% + \usebibmacro{clear+datefield}{event}}}% + {\printdateextra% + \usebibmacro{clear+datefield}{}}}}% + +\newbibmacro*{origfirst+labelyear+extrayear}{% + \ifthenelse{\iffieldundef{labelyear}\OR% + \iffieldequalstr{labelyear}{nodate}}% + {\ifboolexpr{% + test {\ifentrytype{misc}}% + or + test {\ifentrytype{inreference}}% + or + test {\ifentrytype{reference}}% + or + test {\ifentrytype{mvreference}}% + or + not togl {cms@nodates}}% + {}% + {\bibstring{nodate}}}% + {\iffieldundef{origyear}% + {\iffieldundef{year}% + {\iffieldundef{eventyear}% + {\printurldateextra% + \usebibmacro{clear+datefield}{url}}% + {\printeventdateextra% + \usebibmacro{clear+datefield}{event}}}% + {\printdateextra% + \usebibmacro{clear+datefield}{}}}% + {\printorigdateextra% + \usebibmacro{clear+datefield}{orig}}}}% + +\newbibmacro*{av+labelyear+extrayear}{% + \ifthenelse{\iffieldundef{labelyear}\OR% + \iffieldequalstr{labelyear}{nodate}}% + {\ifboolexpr{% + test {\ifentrytype{misc}}% + or + test {\ifentrytype{inreference}}% + or + test {\ifentrytype{reference}}% + or + test {\ifentrytype{mvreference}}% + or + not togl {cms@nodates}}% + {}% + {\bibstring{nodate}}}% + {\iffieldundef{eventyear}% + {\iffieldundef{origyear}% + {\iffieldundef{year}% + {\printurldateextra% + \usebibmacro{clear+datefield}{url}}% + {\printdateextra% + \usebibmacro{clear+datefield}{}}}% + {\printorigdateextra% + \usebibmacro{clear+datefield}{orig}}}% + {\printeventdateextra% + \usebibmacro{clear+datefield}{event}}}}% + +\newbibmacro*{clear+datefield}[1]{% + \iffieldundef{#1endyear}% + {\clearfield{#1year}}% + {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}% + {\clearfield{#1year}}% + {\ifdateyearsequal{#1}{#1end}% + {\clearfield{#1year}\clearfield{#1endyear}}% + {}}}}% + +\newbibmacro*{cmsbibsortdate}{% Attempt to solve date-related problems + \ifboolexpr{% + test {\iffieldundef{origyear}}% + or + not test {\iffieldint{origyear}}% + }% + {\usebibmacro{cmsbibyear}}% + {\iffieldint{year}% + {\ifboolexpr{% Needed for date ranges - video type, esp. + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}% + \usebibmacro{cmsbibyear}}% + {\usebibmacro{cmsbibyear}}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}% + \usebibmacro{cmsbibyear}}% + {\usebibmacro{cmsbibyear}}}}% + {\usebibmacro{cmsbibyear}}}}% + +\newbibmacro*{cmsbibyear}{% + \iftoggle{cms@origlabel}% + {\usebibmacro{origyear+labelyear}}% + {\iftoggle{cms@bothlabelnew}% + {\usebibmacro{bothyear+oldstyle}}% + {\iftoggle{cms@bothlabelold}% + {\usebibmacro{bothyear+oldstyle}}% + {\usebibmacro{labelyear+extrayear}}}}}% + +\newbibmacro*{origyear+labelyear}{% + \ifboolexpr{ ( + test {\ifentrytype{music}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + test {\ifentrytype{video}}% + ) + and + togl {cms@avdate}% + }% + {\usebibmacro{av+labelyear+extrayear}}% + {\iftoggle{cms@switchdates}% + {\usebibmacro{labelyear+extrayear}}% + {\iffieldundef{origyear}% + {\iftoggle{cms@ordate}% ??? + {}% + {\clearfield{extradate}}% + \usebibmacro{standard+labelyear+extrayear}}% + {\iftoggle{cms@ordate}% + {\usebibmacro{origfirst+labelyear+extrayear}}% + {\clearfield{extradate}% + \printorigdateextra%\usebibmacro{origyear+endyear}% + \usebibmacro{clear+datefield}{orig}}}}}}% + +\newbibmacro*{bothyear+oldstyle}{% + \ifboolexpr{ ( + test {\ifentrytype{music}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + test {\ifentrytype{video}}% + ) + and + togl {cms@avdate}% + }% + {\usebibmacro{av+labelyear+extrayear}}% \clearfield local to \printtext + {\iftoggle{cms@switchdates}% + {\printtext{% + \bibopenparen% + \usebibmacro{labelyear+extrayear}% + \bibcloseparen% + \setunit{\addspace}% + \clearfield{extrayear}% + \printorigdateextra}% \usebibmacro{origyear+endyear} + \usebibmacro{clear+datefield}{}% + \usebibmacro{clear+datefield}{orig}}% + {\iffieldundef{origyear}% + {\iftoggle{cms@ordate}% + {}% + {\clearfield{extradate}}% + \usebibmacro{standard+labelyear+extrayear}}% + {\iftoggle{cms@ordate}% ??? + {\iffieldundef{year}% + {\usebibmacro{origfirst+labelyear+extrayear}}% + {\printtext{% + \bibopenparen% + \usebibmacro{origfirst+labelyear+extrayear}% + \bibcloseparen% + \setunit*{\addspace}% + \clearfield{extradate}% + \printdateextra}}}% \usebibmacro{year+endyear} + {\iffieldundef{year}% + {\usebibmacro{origfirst+labelyear+extrayear}}% + {\printtext{% + \bibopenparen% + \clearfield{extradate}% + \printorigdateextra% + % \usebibmacro{origyear+endyear}% + \bibcloseparen% + \setunit*{\addspace}% + \usebibmacro{standard+labelyear+extrayear}}}}% + \usebibmacro{clear+datefield}{orig}% + \usebibmacro{clear+datefield}{}}}}}% + +\newbibmacro*{pubstate}{% + \iftoggle{cms@reprint}% + {\iftoggle{cms@switchdates}% + {\iffieldundef{year}% Fix for consistency??? + {}% + {\printtext{% 16th ed. + \usebibmacro{choosepubstring}% + \printdate}}}% Need \addperiod & \nopunct ?? + {\iffieldundef{origyear}% + {}% + {\printtext{% 16th ed. + \usebibmacro{choosepubstring}% + \printorigdate}}}}% Need \addperiod & \nopunct ?? + {\printfield{pubstate}}}% + +\newbibmacro*{choosepubstring}{% + \ifthenelse{\ifentrytype{video}\OR% + \ifentrytype{music}}% + {\bibstring{origreleaseyear}}% + {\bibstring{origpubyear}}}% + +\newbibmacro*{bibreprint}{% + \iftoggle{cms@reprint}% + {\iffieldundef{origyear}% + {\bibstring{reprint}\newcunit}% 16th ed. + {\iftoggle{cms@switchdates}% + {\bibstring{reprint}\newcunit}% 16th ed. + {}}}% + {}}% + +\newbibmacro*{volume+pages}{% Volume fix (modified) + \ifboolexpr{% + test {\iffieldundef{maintitle}}% + or + togl {cms@vol}% + }% + {\global\togglefalse{cms@vol}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\printfield{pages}% + \newunit% + \printfield{volumes}}% + {\iffieldundef{part}% + {\iffieldundef{pages}% + {\printfield{volume}}% Still print this w/o part or pages??? + {\ifthenelse{\iffieldnums{pages}% + \AND\iffieldundef{bookpagination}\AND\iffieldnums{volume}}% + {\printfield[default]{volume}% + \postvolpunct% + \printfield{pages}}% + {\printfield{volume}% + \addcomma\addspace% + \printfield{pages}}}}% + {\printfield{volume}% + \printfield{part}% + \newcunit% + \printfield{pages}}}}% + {\ifboolexpr{% + togl {cms@hidevolumes}% + and + ( + not test {\iffieldundef{volume}}% + or + not test {\iffieldundef{part}}% + ) + }% + {\printfield{pages}}% + {\printfield{pages}% + \newunit% + \printfield{volumes}}}}% + +\newbibmacro*{bibprexref}{% For back references + \iflistundef{pageref}{}{\savelist{pageref}{\cbx@incollpgref}}}% + +\newbibmacro*{bibpostxref}{% Volume fix + \iffieldundef{chapter}% + {\iffieldundef{pages}% + {\iffieldundef{volume}% + {\iffieldundef{part}% + {}% + {\newcunit\printfield{part}}}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollvol}}% + and + test {\iffieldequalcs{volume}{cbx@incollvol}}% + }% + {\iffieldundef{part}% + {}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollpart}}% + and + test {\iffieldequalcs{part}{cbx@incollpart}}% + }% + {}% + {\newcunit\printfield{part}}}}% + {\iffieldundef{part}% + {\newcunit\printfield{volume}}% + {\newcunit\printfield{volume}\printfield{part}}}}}% + {\iffieldundef{volume}% + {\iffieldundef{part}% + {\newcunit\printfield{pages}}% + {\newcunit\printfield{part}\newcunit\printfield{pages}}}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollvol}}% + and + test {\iffieldequalcs{volume}{cbx@incollvol}}% + }% + {\iffieldundef{part}% + {\newcunit\printfield{pages}}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollpart}}% + and + test {\iffieldequalcs{part}{cbx@incollpart}}% + }% + {\newcunit\printfield{pages}}% + {\newcunit\printfield{part}\newcunit\printfield{pages}}}}% + {\iffieldundef{part}% + {\ifthenelse{\iffieldnums{pages}% + \AND\iffieldundef{bookpagination}\AND\iffieldnums{volume}}% + {\newcunit\printfield[default]{volume}% + \postvolpunct% + \printfield{pages}}% + {\newcunit\printfield{volume}% + \addcomma\addspace% + \printfield{pages}}}% + {\newcunit\printfield{volume}% + \printfield{part}% + \newcunit% + \printfield{pages}}}}}}% + {\newcunit\printfield{chapter}}% + \iftoggle{cms@xrefurl}% + {\newunit% + \usebibmacro{bib+doi+url}}% + {}% + \ifcsdef{cbx@incollpgref}% Here we print and clear the child's + {\restorelist{pageref}{\cbx@incollpgref}% backrefs + \newunit% + \usebibmacro{pageref}% + \global\let\cbx@incollpgref\undefined}% + {}}% + +\newbibmacro*{volume+or+volumes}{% Volume fix (modified) + \iffieldundef{maintitle}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\printfield{volumes}}% + {\printfield{volume}% + \printfield{part}}}% + {\ifboolexpr{% + togl {cms@hidevolumes}% + and + ( + not test {\iffieldundef{volume}}% + or + not test {\iffieldundef{part}}% + ) + }% + {}% + {\printfield{volumes}}}} + +\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% Test ??? + {\iffieldundef{title}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% Volume-less treatment? + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}}% + +\newbibmacro*{btitle+bstitle}{% InIn fix from N&B + \iffieldundef{booktitle}% + {}% + {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}}% + {}% + {\usebibmacro{cms-in:}}% + \printtext{% + \printfield{booktitle}% + \setunit{\subtitlepunct}% + \printfield[booksubtitle]{booksubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}% + \setunit*{\addcomma\addspace}}}% + +\newbibmacro*{mtitle+mstitle+vol+part+btitle+bstitle}{% + \usebibmacro{btitle+bstitle}% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR% + \(\iffieldundef{booktitle}\AND\NOT\ifentrytype{bookinbook}\)}% + {\usebibmacro{cms-in:}% Volume-less treatment? + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}% + \toggletrue{cms@vol}}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}}% + +\newbibmacro*{cjournal+ser+vol+num}{% Moved to bbx + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \setunit*{\addspace}% + \iffieldundef{series}% + {}% + {\newcunit + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{issue}\AND\iffieldundef{season}}% + {\iffieldundef{volume}% + {\newcunit% + \printfield[journum]{number}% + \clearfield{number}% + \printunit{\addcomma\addspace}}% + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}}}% + {\printfield[jourvol]{volume}% + \newcunit% + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}}% need * here? + \printfield{eid}% + \newunit}% + +\newbibmacro*{journal+issue+year+pages}{% + \ifboolexpr{% + not togl {cms@numbermonth}% + or + test {\ifcsstring{blx@dateformat@date}{year}}% + }% + {\clearfield{month}}% + {}% + \usebibmacro{cjournal+ser+vol+num}% + \setunit{\addspace}% + \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}% + \AND\iffieldundef{number}\AND\iffieldundef{year}\AND% + \iffieldundef{season}}% Test year for related entries?? + {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT\iffieldundef{volume}}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}}% This may not be universally correct. + {\printtext[parens]{% Perhaps if it's wrong use magazine subtype? + \iffieldundef{issue}% + {\usebibmacro{date}% + \printfield{number}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}% + \setunit{\addcolon\addspace}}% + \printfield{pages}}% + +\newbibmacro*{periodical+issue+year+pages}{% + \ifboolexpr{% + not togl {cms@numbermonth}% + or + test {\ifcsstring{blx@dateformat@date}{year}}% + }% + {\clearfield{month}}% + {}% + \usebibmacro{cperiodical+ser+vol+num}% + \setunit{\addspace}% + \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}% + \AND\iffieldundef{number}\AND\iffieldundef{year}\AND% + \iffieldundef{season}}% See prev. macro + {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT\iffieldundef{volume}}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}}% + {\printtext[parens]{% + \iffieldundef{issue}% + {\usebibmacro{date}% + \printfield{number}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}% + \setunit{\addcolon\addspace}}% + \printfield{pages}}% + +\newbibmacro*{bycompiler}{% + \ifnameundef{namec}% + {}% + {\bibstring{bycompiler}\addspace + \printnames[bycompiler]{namec}}} + +\renewbibmacro*{byeditor}{% + \ifnameundef{editor}% + {}% + {\usebibmacro{cbytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \usebibmacro{editorpunct}}% + \usebibmacro{byeditorx}}% + +\renewbibmacro*{byeditorx}{% + \ifnameundef{editora}% + {}% + {\usebibmacro{cbytypestrg}{editora}{editor}% + \setunit{\addspace}% + \printnames[byeditora]{editora}% + \usebibmacro{editorpunct}}% + \ifnameundef{editorb}% + {}% + {\usebibmacro{cbytypestrg}{editorb}{editor}% + \setunit{\addspace}% + \printnames[byeditorb]{editorb}% + \usebibmacro{editorpunct}}% + \ifnameundef{editorc}% + {}% + {\usebibmacro{cbytypestrg}{editorc}{editor}% + \setunit{\addspace}% + \printnames[byeditorc]{editorc}% + \usebibmacro{editorpunct}}} + +\renewbibmacro*{byeditor+others}{% + \ifthenelse{\NOT\ifnameundef{editor}\AND + \(\iffieldundef{editortype}\OR + \iffieldequalstr{editortype}{editor}\)}% + {\def\@tempa{byeditor}% + \ifnamesequal{editor}{translator}% + {\edef\@tempa{\@tempa tr}% + \clearname{translator}}% + {}% + \ifnamesequal{editor}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{editor}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{editor}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{editor}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{editor}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{editor}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \clearname{editor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditorx}}% + {\usebibmacro{byeditor}}% + \usebibmacro{bytranslator+others}}% + +\renewbibmacro*{bytranslator+others}{% + \ifnameundef{translator}% + {}% + {\def\@tempa{bytranslator}% + \ifnamesequal{translator}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{translator}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{translator}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{translator}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{translator}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{translator}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\space + \printnames[bytranslator]{translator}% + \clearname{translator}% + \usebibmacro{editorpunct}}% + \usebibmacro{bycompiler+others}}% + +\newbibmacro*{bycompiler+others}{% + \ifnameundef{namec}% + {}% + {\def\@tempa{bycompiler}% + \ifnamesequal{namec}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{namec}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{namec}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{namec}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{namec}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\space + \printnames[bycompiler]{namec}% + \clearname{namec}% + \usebibmacro{editorpunct}}% + \usebibmacro{byothers}}% + +\newbibmacro*{byothers}{% Changed for 0.9 + \usebibmacro{cbytranslator}% + \usebibmacro{editorpunct}% + \usebibmacro{bycompiler}% + \usebibmacro{editorpunct}% +% \usebibmacro{byredactor}% +% \usebibmacro{editorpunct}% + \usebibmacro{withcommentator}% + \usebibmacro{editorpunct}% + \usebibmacro{withannotator}% + \usebibmacro{editorpunct}% + \usebibmacro{withintroduction}% + \usebibmacro{editorpunct}% + \usebibmacro{withforeword}% + \usebibmacro{editorpunct}% + \usebibmacro{withafterword}}% + +%%%% Related functionality from standard.bbx %%%% + +\newcounter{bbx:relatedcount} +\newcounter{bbx:relatedtotal} + +\newbibmacro*{related:init}{% + \csundef{bbx:relatedloop}} + +\newbibmacro*{begrelated}{\ifcsdef{bbx@lasthash}% + {\let\cms@related@hash\bbx@lasthash}{}}% +\newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}% + {\global\let\bbx@lasthash\cms@related@hash% + \let\cms@related@hash\undefined}{}}% +\newbibmacro*{begrelatedloop}{} +\newbibmacro*{endrelatedloop}{} + +\newcommand*{\begrelateddelimmaintitle}{\newunitpunct\par\nobreak}% +\newcommand*{\begrelateddelimmaintitlenc}{\newunitpunct\par\nobreak}% + +\def\ifrelatedloop{% + \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}% + or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}% + +\newbibmacro*{related}{% + \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }% + {}% + {\ifcsundef{begrelateddelim\strfield{relatedtype}}% + {\printunit{\begrelateddelim}}% + {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}% + \usebibmacro{begrelated}% + \def\bbx@tempa{}% + \setcounter{bbx:relatedtotal}{0}% + \def\do##1{% + \entrydata{##1}{% + \ifrelatedloop% + {}% + {\stepcounter{bbx:relatedtotal}% + \gappto{\bbx@tempa}{##1,}}}}% + \docsvfield{related}% + \restorefield{related}{\bbx@tempa}% + \ifnumgreater{\value{bbx:relatedtotal}}{0}% + {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}% + \iffieldundef{clonesourcekey}% + {}% + {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}% + \setcounter{bbx:relatedcount}{0}% + \def\do{% + \stepcounter{bbx:relatedcount}% + \ifnumgreater{\value{bbx:relatedcount}}{1}% + {\ifcsundef{relateddelim\strfield{relatedtype}}% + {\printunit{\relateddelim}}% + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\printunit + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter{% + \csuse{relateddelim\strfield{relatedtype}}}}}% + {}}% + \ifbibmacroundef{related:\strfield{relatedtype}}% + {\appto{\do}{\usebibmacro{related:default}}}% + {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}% + \iffieldformatundef{related:\strfield{relatedtype}}% + {\def\bbx@tempa{related}}% + {\def\bbx@tempa{related:\strfield{relatedtype}}}% + \iffieldformatundef{relatedstring:\strfield{relatedtype}}% + {\def\bbx@tempb{relatedstring:default}}% + {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}% + \printtext[\bbx@tempa]{% + \usebibmacro{begrelatedloop}% + \iffieldundef{relatedstring}% + {\ifboolexpr{% + test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}% + and + test {\ifbibxstring{\thefield{relatedtype}s}}% + }% + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}% + {\iffieldbibstring{relatedtype}% + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}% + {}}}% + {\iffieldbibstring{relatedstring}% + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}% + {\printfield[\bbx@tempb]{relatedstring}}}% + \docsvfield{related}% + \usebibmacro{endrelatedloop}}}% + {}% + \usebibmacro{endrelated}}}% + +\NewBibliographyString{% + afterwordto,% + broadcast,% + by,% + bychoreographer,% + bycompileraf,% + bycompileran,% + bycompileranaf,% + bycompileranfo,% + bycompileranin,% + bycompilerco,% + bycompilercoaf,% + bycompilercofo,% + bycompilercoin,% + bycompilerfo,% + bycompilerin,% + byconductor,% + bydirector,% + byeditoralt,% + byeditorcp,% + byeditorcpaf,% + byeditorcpan,% + byeditorcpanaf,% + byeditorcpanfo,% + byeditorcpanin,% + byeditorcpco,% + byeditorcpcoaf,% + byeditorcpcofo,% + byeditorcpcoin,% + byeditorcpfo,% + byeditorcpin,% + byeditortrcp,% + byeditortrcpaf,% + byeditortrcpan,% + byeditortrcpanaf,% + byeditortrcpanfo,% + byeditortrcpanin,% + byeditortrcpco,% + byeditortrcpcoaf,% + byeditortrcpcofo,% + byeditortrcpcoin,% + byeditortrcpfo,% + byeditortrcpin,% + bynone,% + byproducer,% + bytranslatorcp,% + bytranslatorcpaf,% + bytranslatorcpan,% + bytranslatorcpanaf,% + bytranslatorcpanfo,% + bytranslatorcpanin,% + bytranslatorcpco,% + bytranslatorcpcoaf,% + bytranslatorcpcofo,% + bytranslatorcpcoin,% + bytranslatorcpfo,% + bytranslatorcpin,% + canadasection,% + canadasections,% + cbyannotator,% + cbyauthor,% + cbychoreographer,% + cbycollaborator,% + cbycommentator,% + cbycompiler,% + cbycompileraf,% + cbycompileran,% + cbycompileranaf,% + cbycompileranfo,% + cbycompileranin,% + cbycompilerco,% + cbycompilercoaf,% + cbycompilercofo,% + cbycompilercoin,% + cbycompilerfo,% + cbycompilerin,% + cbyconductor,% + cbycontinuator,% + cbydirector,% + cbyeditor,% + cbyeditoraf,% + cbyeditoralt,% + cbyeditoran,% + cbyeditoranaf,% + cbyeditoranfo,% + cbyeditoranin,% + cbyeditorco,% + cbyeditorcoaf,% + cbyeditorcofo,% + cbyeditorcoin,% + cbyeditorcp,% + cbyeditorcpaf,% + cbyeditorcpan,% + cbyeditorcpanaf,% + cbyeditorcpanfo,% + cbyeditorcpanin,% + cbyeditorcpco,% + cbyeditorcpcoaf,% + cbyeditorcpcofo,% + cbyeditorcpcoin,% + cbyeditorcpfo,% + cbyeditorcpin,% + cbyeditorfo,% + cbyeditorin,% + cbyeditortr,% + cbyeditortraf,% + cbyeditortran,% + cbyeditortranaf,% + cbyeditortranfo,% + cbyeditortranin,% + cbyeditortrco,% + cbyeditortrcoaf,% + cbyeditortrcofo,% + cbyeditortrcoin,% + cbyeditortrcp,% + cbyeditortrcpaf,% + cbyeditortrcpan,% + cbyeditortrcpanaf,% + cbyeditortrcpanfo,% + cbyeditortrcpanin,% + cbyeditortrcpco,% + cbyeditortrcpcoaf,% + cbyeditortrcpcofo,% + cbyeditortrcpcoin,% + cbyeditortrcpfo,% + cbyeditortrcpin,% + cbyeditortrfo,% + cbyeditortrin,% + cbyfounder,% + cbynone,% + cbyorganizer,% + cbyproducer,% + cbyredactor,% + cbytranslator,% + cbytranslatoraf,% + cbytranslatoran,% + cbytranslatoranaf,% + cbytranslatoranfo,% + cbytranslatoranin,% + cbytranslatorco,% + cbytranslatorcoaf,% + cbytranslatorcofo,% + cbytranslatorcoin,% + cbytranslatorcp,% + cbytranslatorcpaf,% + cbytranslatorcpan,% + cbytranslatorcpanaf,% + cbytranslatorcpanfo,% + cbytranslatorcpanin,% + cbytranslatorcpco,% + cbytranslatorcpcoaf,% + cbytranslatorcpcofo,% + cbytranslatorcpcoin,% + cbytranslatorcpfo,% + cbytranslatorcpin,% + cbytranslatorfo,% + cbytranslatorin,% + century,% + cfromamerican,% + cfrombrazilian,% + cfrombulgarian,% + cfromcatalan,% + cfromcroatian,% + cfromczech,% + cfromdanish,% + cfromdutch,% + cfromenglish,% + cfromestonian,% + cfromfinnish,% + cfromfrench,% + cfromgalician,% + cfromgerman,% + cfromgreek,% + cfromitalian,% + cfromjapanese,% + cfromlatin,% + cfromnorwegian,% + cfrompolish,% + cfromportuguese,% + cfromrussian,% + cfromslovak,% + cfromslovene,% + cfromspanish,% + cfromswedish,% + cfromukrainian,% + choreographer,% + choreographers,% + commenton,% + conductor,% + conductors,% + decade,% + director,% + directors,% + discrecorded,% + edamerican,% + edbrazilian,% + edbulgarian,% + edcatalan,% + edcroatian,% + edczech,% + eddanish,% + eddutch,% + edenglish,% + edestonian,% + edfinnish,% + edfrench,% + edgalician,% + edgerman,% + edgreek,% + editalian,% + editorcompiler,% + editorcompilers,% + editortranscompiler,% + editortranscompilers,% + editortranslator,% + editortranslators,% + edjapanese,% + edlatin,% + ednorwegian,% + edpolish,% + edportuguese,% + edrussian,% + edslovak,% + edslovene,% + edspanish,% + edswedish,% + edukrainian,% + forewordto,% + hereinafter,% + inlang,% + introductionto,% + none,% + nones,% + note,% + numbers,% + of,% + on,% + origedition,% + origpub,% + origpublin,% + origpubyear,% + origpubyearalt,% + origreleaseyear,% + origshownyear,% + partvolume,% + patentfiled,% + patentissued,% + preface,% + printed,% + producer,% + producers,% + pseudonym,% + review,% + revisededition,% + selfpublished,% + songrecorded,% + subsection,% + subsections,% + subverbis,% + subverbo,% + supranote,% + track,% + transcompiler,% + transcompilers% + }% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.cbx new file mode 100644 index 00000000000..725a201aec6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.cbx @@ -0,0 +1,324 @@ +% This is a biblatex citation style file, adapted from Lehman's +% authoryear-comp.cbx. It is heavily modified, with the intention of +% providing inline citations (and a reference list) for the +% author-date style of the Chicago Manual of Style, 16th edition. + +\ProvidesFile{chicago-authordate16.cbx}[2020/04/20 v 3.14 biblatex +citation style] + +\RequireCitationStyle{chicago-dates-common16} + +%%%% Field Formats -- Title, Citetitle, Lostitle %%%% + +\DeclareFieldFormat{title}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{citetitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{lostitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,thesis,unpublished] +{title}{% + \iffieldundef{title}% + {}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,thesis,unpublished] +{citetitle}{% + \iffieldundef{title}% + {#1\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,thesis,unpublished] +{lostitle}{% + \iffieldundef{title}% + {#1\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat[artwork,image]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldAlias[artwork]{citetitle}[artwork]{title} + +\DeclareFieldAlias[artwork]{lostitle}[artwork]{title} + +\DeclareFieldAlias[image]{citetitle}[artwork]{title} + +\DeclareFieldAlias[image]{lostitle}[artwork]{title} + +\DeclareFieldFormat[letter,patent]{title}{#1\isdot} + +\DeclareFieldFormat[letter,patent]{citetitle}{#1\isdot} + +\DeclareFieldFormat[letter,patent]{lostitle}{#1\isdot} + +\DeclareFieldFormat[suppbook,suppcollection]{title}{\mkbibemph{#1}\isdot} + +\DeclareFieldAlias[suppbook]{citetitle}[suppbook]{lostitle} + +\DeclareFieldFormat[suppbook,suppcollection]{lostitle}{% + \usebibmacro{inforaft}% + \addspace% + \mkbibemph{#1}\isdot} + +\DeclareFieldAlias[suppcollection]{citetitle}[suppbook]{lostitle} + +\DeclareFieldFormat[misc]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldAlias[misc]{citetitle}[misc]{title} + +\DeclareFieldAlias[misc]{lostitle}[misc]{title} + +\DeclareFieldFormat[report]{title}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\mkbibquote{#1\isdot}}% + {\mkbibemph{#1}\isdot}}% + +\DeclareFieldFormat[report]{citetitle}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\mkbibquote{#1\isdot}}% + {\mkbibemph{#1}\isdot}} + +\DeclareFieldFormat[report]{lostitle}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\mkbibquote{#1\isdot}}% + {\mkbibemph{#1}\isdot}} + +\DeclareFieldFormat[review,suppperiodical]{title}{% + \ifcapital{\MakeCapital{#1\isdot}}% + {#1\isdot}} + +\DeclareFieldAlias[review]{lostitle}[review]{title} + +\DeclareFieldAlias[review]{citetitle}[review]{title} + +\DeclareFieldAlias[suppperiodical]{citetitle}[review]{title} + +\DeclareFieldAlias[suppperiodical]{lostitle}[review]{title} + +\DeclareFieldFormat{booktitle}{\mkbibemph{#1}} + +\DeclareFieldFormat{maintitle}{\mkbibemph{#1}} + +\DeclareFieldFormat{booksubtitle}{\mkbibemph{#1}} + +\DeclareFieldFormat{mainsubtitle}{\mkbibemph{#1}} + +\DeclareFieldFormat[audio,music,video]{title}{% + \iffieldundef{booktitle}% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldAlias[video]{citetitle}[video]{title} + +\DeclareFieldAlias[video]{lostitle}[video]{title} + +\DeclareFieldAlias[music]{citetitle}[music]{title} + +\DeclareFieldAlias[music]{lostitle}[music]{title} + +\DeclareFieldAlias[audio]{citetitle}[audio]{title} + +\DeclareFieldAlias[audio]{lostitle}[audio]{title} + +\DeclareFieldFormat{issuetitle}{\mkbibquote{#1\isdot}} + +%%%% Formatting macros, called both by cbx and bbx %%%% + +\newbibmacro*{video+title}{% Simplifies trad style. + \iffieldundef{title}% + {}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}} + +\newbibmacro*{italtitle+stitle}{% + \printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock} + +\newbibmacro*{mag+news+title}{% + \printtext[title]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\ptitleaddonpunct}%\setunit{\addcomma\addspace} + \ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\printfield{titleaddon}}% + }%\newcunit\newblock + +\newbibmacro*{issuetitle}{% + \iffieldundef{issuetitle}% + {}% + {\ifthenelse{\ifentrytype{article}\OR% + \ifentrytype{review}\OR% + \ifentrytype{suppperiodical}}% This test is for + {\usebibmacro{cms-in:}}% periodical entries + {}% + \printtext[issuetitle]{% + \printfield[itnoformat]{issuetitle}% + \setunit{\subtitlepunct}% + \printfield[sitnoformat]{issuesubtitle}}}} + +%%%% Related macros that can't reside in common.cbx %%%% + +\newbibmacro*{related:reviewof}[1]{% + \entrydata*{#1}{% + \let\newunit\newcunit% FIXME?? + \iffieldundef{title}% + {}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \newcunit% + \ifnameundef{author}% + {\newcunit% + \usebibmacro{byeditor+others}}% + {\bibstring{by}\addspace% + \printnames[byauthor]{author}% + \newcunit\usebibmacro{byeditor+others}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}}} + +\DeclareFieldFormat{title:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \mkbibemph{#1}} + +\DeclareFieldFormat{ititle:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \mkbibquote{#1}} + +\DeclareFieldFormat{chapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{chapter}}% + \endgroup + \bibstring{chapter}~#1\addspace\bibstring{in}} + +\DeclareFieldFormat{avchapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{chapter}}% + \endgroup + \bibstring{chapter}~#1} + +\DeclareFieldFormat{sitnoformat}{#1} +\DeclareFieldFormat{sjtnoformat}{#1} +\DeclareFieldFormat{stnoformat}{#1} +\DeclareFieldFormat{itnoformat}{#1} +\DeclareFieldFormat{jtnoformat}{#1} +\DeclareFieldFormat{jtsnoformat}{#1} +\DeclareFieldFormat{tnoformat}{#1} + +\newbibmacro*{cms:titlehook}{% Needed for the full drivers in reprintfrom + \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR% + \ifentrytype{inbook}\OR\ifentrytype{incollection}\OR% + \ifentrytype{inproceedings}\OR\ifentrytype{letter}\OR% + \ifentrytype{music}\OR\ifentrytype{video}\)}% + {\iffieldundef{issuetitle}% + {\iffieldundef{title}% + {\iffieldundef{booktitle}% + {\iffieldundef{maintitle}% + {\iffieldundef{journaltitle}% + {}% + {\DeclareFieldAlias{jtnoformat}{title:hook}% + \DeclareFieldAlias{sjtnoformat}{title}% + \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{jtsnoformat}{title:hook}}}% + {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\DeclareFieldAlias{booktitle}{title:hook}}}% + {\DeclareFieldAlias{tnoformat}{title:hook}% + \DeclareFieldAlias{stnoformat}{citetitle}% + \DeclareFieldAlias[video]{title}{default}% + \DeclareFieldAlias[audio]{title}{default}% + \DeclareFieldAlias[music]{title}{default}% + \DeclareFieldAlias{title}{default}% + \DeclareFieldAlias[periodical]{shorttitle}{series}}}% + {\iffieldundef{issuesubtitle}% + {\DeclareFieldAlias{itnoformat}{ititle:hook}% + \DeclareFieldAlias{issuetitle}{default}}% + {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}% + {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}}% + {\iffieldundef{title}% + {\DeclareFieldAlias{chapter}{avchapter:hook}}% + {\DeclareFieldAlias{tnoformat}{title:hook}% + \DeclareFieldAlias{stnoformat}{citetitle}% + \DeclareFieldAlias[video]{title}{default}% + \DeclareFieldAlias[audio]{title}{default}% + \DeclareFieldAlias[music]{title}{default}}}% + {\DeclareFieldAlias{chapter}{chapter:hook}}}}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx index 6b8e1a41737..902b41fa645 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx @@ -1,17 +1,18 @@ -% $Id: chicago-dates-common.cbx,v 0.10.1.15 2018/01/11 09:49:53 dfussner Exp $ +% This is a biblatex citation style file, originally adapted from +% Lehman's authoryear-comp.cbx. It is heavily modified, and contains +% the common code for providing inline citations (and a reference +% list) for the two author-date styles of the Chicago Manual of Style, +% 17th edition. -% This is a biblatex citation style file, adapted from Lehman's -% authoryear-comp.cbx. It is heavily modified, and contains the -% common code for providing inline citations (and a reference list) -% for the two author-date styles of the Chicago Manual of Style, 16th -% edition. - -\ProvidesFile{chicago-dates-common.cbx}[2018/01/11 v 3.10 biblatex +\ProvidesFile{chicago-dates-common.cbx}[2020/04/20 v 3.14 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% \newbool{cbx:parens} +\newbool{cms:bracket} +\newbool{cms:extraparens} +\newbool{cms:comma} \providecommand*{\mkibid}[1]{#1} @@ -20,35 +21,43 @@ citation style] \providetoggle{cms@bothlabelold} \providetoggle{cms@bothlabelnew} \providetoggle{cms@fulldate} -\providetoggle{cms@reprint} \providetoggle{cms@switchdates} \providetoggle{cms@los} -%\providetoggle{cms@oneyear} \providetoggle{cms@avdate} \providetoggle{cms@ordate} \providetoggle{cms@nodates} +\providetoggle{cms@bc}% Attempt to provide correct dateera handling +\providetoggle{cms@alwaysrange}% Turns off decade and century handling +\providetoggle{cms@decaderange}% Only turns off decade handling +\providetoggle{cms@centuryrange}% Only turns off century handling +\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa +\providetoggle{cms@noyearbrackets}% \providetoggle{cms@authorparens} -\providetoggle{cms@datedash} \providetoggle{cms@modpostnote} \providetoggle{cms@ukord} \providetoggle{cms@fullnote}% For the legal entry types \providetoggle{cms@shortnote}% Ditto \providetoggle{cms@url}% These are for the field-exclusion options +\providetoggle{cms@urltime}% 17th ed. \providetoggle{cms@doi} \providetoggle{cms@doionly} \providetoggle{cms@eprint} \providetoggle{cms@isbn} \providetoggle{cms@numbermonth} \providetoggle{cms@bookpages} +\providetoggle{cms@shser} \providetoggle{cms@addendum} \providetoggle{cms@hidevolumes}% Modify Volume fix \providetoggle{cms@comprange} +\providetoggle{cms@compyears} \providetoggle{cms@jrcomma}% Comma after Jr./Sr. +\providetoggle{cms@strict} \providetoggle{cms@headlessnote}% Keep \providetoggle{cms@noibid}% Keep +\providetoggle{cms@namedash} \providetoggle{cms@usecompiler}% Keep \providetoggle{cms@origpublished}% Keep \providetoggle{cms@annotation}% Keep @@ -58,6 +67,7 @@ citation style] \providetoggle{cms@noneshort}% Ditto \providetoggle{cms@legalnotes}% Ditto \providetoggle{cms@supranotes}% Ditto +\providetoggle{cms@running@text}% For Jurisdiction entries \providetoggle{cms@vol}% \providetoggle{cms@crossref}% \providetoggle{cms@bookcrossref} @@ -66,15 +76,13 @@ citation style] \providetoggle{cms@xrefurl} \providetoggle{cms@related} \providetoggle{cms@linkit} +\providetoggle{cms@authortitle} \AtEveryCitekey{% \iffieldundef{userc}% {}% {\nocite{\thefield{userc}}}% - \global\csundef{@cmsst}% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}}% + \global\csundef{@cmsst}}% \protected\def\cms@warning@noline#1{% \begingroup @@ -82,27 +90,26 @@ citation style] \PackageWarningNoLine{biblatex-chicago}{#1}% \endgroup}% -\DeclareBibliographyOption{avdate}[true]{% +\DeclareBibliographyOption[string]{avdate}[true]{% \ifcsdef{cms@opt@avdate@#1}% {\csuse{cms@opt@avdate@#1}}% {\blx@err@invopt{avdate=#1}{}}}% \def\cms@opt@avdate@true{% - \@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4/2.5 - {\@ifpackagelater{biblatex}{2013/03/30}% for biblatex 2.6 ff. - {\DeclareLabeldate[music,review,suppperiodical,video]{\field{eventdate}% - \field{origdate} \field{date} \field{year} \field{urldate}}}% - {\DeclareLabelyear[music,review,suppperiodical,video]{\field{eventyear}% - \field{origyear} \field{year} \field{urlyear}}}}% - {\DeclareLabelyear[music,review,suppperiodical,video]% - {eventyear,origyear,year,urlyear}}% - \toggletrue{cms@avdate}}% + \DeclareLabeldate[music,review,standard,suppperiodical,video]% 17th ed. + {\field{eventdate} \field{origdate} \field{date} \field{year}% + \field{urldate} \literal{nodate}}% + \toggletrue{cms@avdate}}% \def\cms@opt@avdate@false{% \togglefalse{cms@avdate}}% -\DeclareBibliographyOption{cmsdate}[off]{% Trying to implement origyear as +\DeclareBibliographyOption[string]{cmsdate}[off]{% Implement origyear as \ifcsdef{cms@global@cmsdate@#1}% labelyear. Sorting will be an issue. {\csuse{cms@global@cmsdate@#1}}% - {\blx@err@invopt{cmsdate=#1}{}}}% + {\csuse{cms@global@cmsdate@off}\cms@warning@noline% + {'cmsdate=#1' isn't a valid option.\MessageBreak + The default - 'off' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% \def\cms@global@cmsdate@on{% \toggletrue{cms@origlabel}% \ExecuteBibliographyOptions{cmsorigdate=true}}% @@ -118,40 +125,28 @@ citation style] \def\cms@global@cmsdate@full{}% \def\cms@global@cmsdate@off{}% -\DeclareBibliographyOption{cmsorigdate}[true]{% ??? Also need new macros - \ifcsdef{cms@opt@origdate@#1}% for printing dates. Worth it ??? +\DeclareBibliographyOption[string]{cmsorigdate}[true]{% ? Also need new macros + \ifcsdef{cms@opt@origdate@#1}% for printing dates. Worth it ? {\csuse{cms@opt@origdate@#1}}% {\blx@err@invopt{cmsorigdate=#1}{}}}% \def\cms@opt@origdate@true{% - \@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4/2.5 - {\@ifpackagelater{biblatex}{2013/03/30}% for biblatex 2.6 ff. - {\DeclareLabeldate{\field{origdate} \field{date} \field{year}% - \field{eventdate} \field{urldate}}% - \DeclareLabeldate[patent]{\field{date} \field{year}% - \field{eventdate} \field{origdate} \field{urldate}}}% - {\DeclareLabelyear{\field{origyear} \field{year}% - \field{eventyear} \field{urlyear}}% - \DeclareLabelyear[patent]{\field{year} \field{eventyear}% - \field{origyear} \field{urlyear}}}}% - {\DeclareLabelyear{origyear,year,eventyear,urlyear}% - \DeclareLabelyear[patent]{year,eventyear,origyear,urlyear}}% + \DeclareLabeldate{\field{origdate} \field{origyear} \field{date}% + \field{year} \field{eventdate} \field{urldate}% + \literal{nodate}}% + \DeclareLabeldate[patent]{\field{date} \field{year}% + \field{eventdate} \field{origdate} \field{origyear}% + \field{urldate}}% \global\toggletrue{cms@ordate}}% \def\cms@opt@origdate@false{\togglefalse{cms@ordate}}% -\DeclareEntryOption{cmsdate}[off]{% Trying to implement origyear as +\DeclareEntryOption[string]{cmsdate}[off]{% Trying to implement origyear as \ifcsdef{cms@opt@cmsdate@#1}% labelyear. Sorting will be an issue. - {\iftoggle{cms@origlabel}% - {\togglefalse{cms@origlabel}% - \def\@cms@tempdate{cms@origlabel}}% - {\iftoggle{cms@bothlabelnew}% - {\togglefalse{cms@bothlabelnew}% - \def\@cms@tempdate{cms@bothlabelnew}}% - {\iftoggle{cms@bothlabelold}% - {\togglefalse{cms@bothlabelold}% - \def\@cms@tempdate{cms@bothlabelold}}% - {}}}% - \csuse{cms@opt@cmsdate@#1}}% - {\blx@err@invopt{cmsdate=#1}{}}}% + {\csuse{cms@opt@cmsdate@#1}}% + {\csuse{cms@opt@cmsdate@off}\cms@warning@noline% + {'cmsdate=#1' isn't a valid option.\MessageBreak + The default - 'off' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% \def\cms@opt@cmsdate@on{% \toggletrue{cms@origlabel}}% \def\cms@opt@cmsdate@new{% @@ -164,38 +159,44 @@ citation style] \toggletrue{cms@fulldate}}% \def\cms@opt@cmsdate@off{}% -\DeclareBibliographyOption[boolean]{genallnames}[true]{% - \settoggle{cms@genallnames}{#1}}% +\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{% + \settoggle{cms@alwaysrange}{#1}}% -\DeclareEntryOption[boolean]{genallnames}[true]{% - \settoggle{cms@genallnames}{#1}}% +\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{% + \settoggle{cms@decaderange}{#1}}% -\DeclareBibliographyOption[boolean]{hypertitle}[true]{% - \settoggle{cms@linkit}{#1}}% +\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{% + \settoggle{cms@centuryrange}{#1}}% -\DeclareEntryOption[boolean]{hypertitle}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{% + \settoggle{cms@nodatebrackets}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{% + \settoggle{cms@noyearbrackets}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{% + \settoggle{cms@genallnames}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{hypertitle}[true]{% \settoggle{cms@linkit}{#1}}% \DeclareBibliographyOption[boolean]{annotation}[true]{% \global\settoggle{cms@annotation}{#1}}% +\DeclareBibliographyOption[boolean]{dashed}[true]{% + \settoggle{cms@namedash}{#1}} + \DeclareBibliographyOption[boolean]{short}[true]{% \global\settoggle{cms@allshort}{#1}} -\DeclareBibliographyOption[boolean]{noneshort}[true]{% - \global\settoggle{cms@noneshort}{#1}} - -\DeclareEntryOption[boolean]{noneshort}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{noneshort}[true]{% \settoggle{cms@noneshort}{#1}} \DeclareBibliographyOption[boolean]{legalnotes}[true]{% \global\settoggle{cms@legalnotes}{#1}} -\DeclareBibliographyOption[boolean]{supranotes}[true]{% - \global\settoggle{cms@supranotes}{#1}} - -\DeclareEntryOption[boolean]{supranotes}[true]{% - \global\settoggle{cms@supranotes}{#1}} +\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{% + \settoggle{cms@supranotes}{#1}} \DeclareBibliographyOption[boolean]{cmslos}[true]{% \global\settoggle{cms@los}{#1}}% @@ -203,18 +204,13 @@ citation style] \DeclareBibliographyOption[boolean]{noibid}[true]{% \global\settoggle{cms@noibid}{#1}}% -\DeclareBibliographyOption{compresspages}[true]{% - \ifcsdef{cms@opt@crange@#1}% - {\csuse{cms@opt@crange@#1}}% - {\blx@err@invopt{compresspages=#1}{}}}% -\def\cms@opt@crange@true{% - \global\toggletrue{cms@comprange}% - \setcounter{mincomprange}{100}% - \setcounter{mincompwidth}{10}% -}% -\def\cms@opt@crange@false{}% +\DeclareBibliographyOption[boolean]{compresspages}[true]{% + \global\settoggle{cms@comprange}{#1}}% + +\DeclareBibliographyOption[boolean]{compressyears}[true]{% + \global\settoggle{cms@compyears}{#1}}% -\DeclareBibliographyOption{postnotepunct}[true]{% +\DeclareBibliographyOption[string]{postnotepunct}[true]{% \ifcsdef{cms@opt@ppunct@#1}% {\csuse{cms@opt@ppunct@#1}}% {\blx@err@invopt{postnotepunct=#1}{}}}% @@ -222,25 +218,19 @@ citation style] \global\toggletrue{cms@modpostnote}}% \def\cms@opt@ppunct@false{}% -\DeclareBibliographyOption{usecompiler}[true]{% - \settoggle{cms@usecompiler}{#1}}% +\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% + \settoggle{blx@usenamec}{#1}}% -\DeclareBibliographyOption{nodates}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{nodates}[true]{% \settoggle{cms@nodates}{#1}}% -\DeclareEntryOption{usecompiler}[true]{% - \settoggle{cms@usecompiler}{#1}}% - -\DeclareBibliographyOption{juniorcomma}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{% \settoggle{cms@jrcomma}{#1}}% -\DeclareEntryOption{juniorcomma}[true]{% - \settoggle{cms@jrcomma}{#1}}% - -\DeclareBibliographyOption{shorthandfull}[true]{% +\DeclareBibliographyOption[boolean]{shorthandfull}[true]{% \settoggle{cms@fullshhand}{#1}}% -\DeclareBibliographyOption{longcrossref}[false]{% +\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{% \ifcsdef{cms@opt@lxref@#1}% {\csuse{cms@opt@lxref@#1}}% {\blx@err@invopt{longcrossref=#1}{}}}% @@ -256,12 +246,7 @@ citation style] \def\cms@opt@lxref@bib{% \toggletrue{cms@crossref}}% -\DeclareEntryOption{longcrossref}[false]{% - \ifcsdef{cms@opt@lxref@#1}% - {\csuse{cms@opt@lxref@#1}}% - {\blx@err@invopt{longcrossref=#1}{}}}% - -\DeclareBibliographyOption{booklongxref}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{booklongxref}[true]{% \ifcsdef{cms@opt@bklxref@#1}% {\csuse{cms@opt@bklxref@#1}}% {\blx@err@invopt{booklongxref=#1}{}}}% @@ -274,18 +259,10 @@ citation style] \def\cms@opt@bklxref@bib{% \toggletrue{cms@bookcrossref}}% -\DeclareEntryOption{booklongxref}[true]{% - \ifcsdef{cms@opt@bklxref@#1}% - {\csuse{cms@opt@bklxref@#1}}% - {\blx@err@invopt{booklongxref=#1}{}}}% - -\DeclareBibliographyOption[boolean]{xrefurl}[true]{% - \settoggle{cms@xrefurl}{#1}}% - -\DeclareEntryOption[boolean]{xrefurl}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{% \settoggle{cms@xrefurl}{#1}}% -\DeclareBibliographyOption[string]{journalabbrev}[false]{% +\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{% \ifcsdef{cms@opt@jtabb@#1}% {\csuse{cms@opt@jtabb@#1}}% {\csuse{cms@opt@jtabb@false}\cms@warning@noline% @@ -306,19 +283,10 @@ citation style] \togglefalse{cms@citejtabb}% \toggletrue{cms@bibjtabb}}% -\DeclareEntryOption[string]{journalabbrev}[false]{% - \ifcsdef{cms@opt@jtabb@#1}% - {\csuse{cms@opt@jtabb@#1}}% - {\csuse{cms@opt@jtabb@false}\cms@warning@noline% - {'journalabbrev=#1' isn't a valid option.\MessageBreak - The default - 'false' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{seriesabbrev}[true]{% + \settoggle{cms@shser}{#1}} -\DeclareBibliographyOption[boolean]{related}[true]{% - \settoggle{cms@related}{#1}}% - -\DeclareEntryOption[boolean]{related}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{% \settoggle{cms@related}{#1}}% \DeclareBibliographyOption[boolean]{ordinalgb}[true]{% @@ -326,7 +294,7 @@ citation style] % Controlling punctuation before titleaddon fields % -\DeclareBibliographyOption[string]{ptitleaddon}[period]{% +\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{% \ifcsdef{cms@opt@ptao@#1}% {\csuse{cms@opt@ptao@#1}}% {\csuse{cms@opt@ptao@period}\cms@warning@noline% @@ -347,16 +315,7 @@ citation style] \def\cms@opt@ptao@period{% \def\ptitleaddonpunct{\addperiod\addspace}}% -\DeclareEntryOption[string]{ptitleaddon}[period]{% - \ifcsdef{cms@opt@ptao@#1}% - {\csuse{cms@opt@ptao@#1}}% - {\csuse{cms@opt@ptao@period}\cms@warning@noline% - {'ptitleaddon=#1' is not a valid option.\MessageBreak - The default - 'period' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - -\DeclareBibliographyOption[string]{ctitleaddon}[comma]{% +\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{% \ifcsdef{cms@opt@ctao@#1}% {\csuse{cms@opt@ctao@#1}}% {\csuse{cms@opt@ctao@comma}\cms@warning@noline% @@ -377,22 +336,16 @@ citation style] \def\cms@opt@ctao@period{% \def\ctitleaddonpunct{\addperiod\addspace}}% -\DeclareEntryOption[string]{ctitleaddon}[comma]{% - \ifcsdef{cms@opt@ctao@#1}% - {\csuse{cms@opt@ctao@#1}}% - {\csuse{cms@opt@ctao@comma}\cms@warning@noline% - {'ctitleaddon=#1' is not a valid option.\MessageBreak - The default - 'comma' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - % The field-exclusion options % -\DeclareBibliographyOption{isbn}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{% + \settoggle{cms@urltime}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{% \settoggle{cms@isbn}{#1}}% -\DeclareBibliographyOption{url}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{% \settoggle{cms@url}{#1}}% -\DeclareBibliographyOption{doi}[true]{% +\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{% \ifcsdef{cms@opt@doi@#1}% {\csuse{cms@opt@doi@#1}}% {\blx@err@invopt{doi=#1}{}}}% @@ -402,63 +355,45 @@ citation style] \togglefalse{cms@doi}}% \def\cms@opt@doi@only{% \toggletrue{cms@doionly}}% -\DeclareBibliographyOption{eprint}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% \settoggle{cms@eprint}{#1}}% -\DeclareBibliographyOption{numbermonth}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{% \settoggle{cms@numbermonth}{#1}}% -\DeclareBibliographyOption{bookpages}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{% \settoggle{cms@bookpages}{#1}}% -\DeclareBibliographyOption{includeall}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{% \settoggle{cms@isbn}{#1}% \settoggle{cms@url}{#1}% + \settoggle{cms@urltime}{#1}% 17th ed. \settoggle{cms@doi}{#1}% \settoggle{cms@eprint}{#1}% \settoggle{cms@numbermonth}{#1}% \settoggle{cms@bookpages}{#1}}% -\DeclareBibliographyOption{hidevolumes}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{% \settoggle{cms@hidevolumes}{#1}}% -\DeclareEntryOption{isbn}[true]{% - \settoggle{cms@isbn}{#1}}% -\DeclareEntryOption{doi}[true]{% - \ifcsdef{cms@opt@doi@#1}% - {\iftoggle{cms@doi}% - {\togglefalse{cms@doi}% - \iftoggle{cms@doionly}% - {\togglefalse{cms@doionly}}% !! - {}}% - {\toggletrue{cms@doi}}% !! - \csuse{cms@opt@doi@#1}}% - {\blx@err@invopt{doi=#1}{}}}% -\DeclareEntryOption{url}[true]{% - \settoggle{cms@url}{#1}}% -\DeclareEntryOption{eprint}[true]{% - \settoggle{cms@eprint}{#1}}% -\DeclareEntryOption{numbermonth}[true]{% - \settoggle{cms@numbermonth}{#1}}% -\DeclareEntryOption{bookpages}[true]{% - \settoggle{cms@bookpages}{#1}}% -\DeclareEntryOption{hidevolumes}[true]{% - \settoggle{cms@hidevolumes}{#1}}% +\DeclareBiblatexOption{type,entry}[boolean]{authortitle}[true]{% + \settoggle{cms@authortitle}{#1}}% \ExecuteBibliographyOptions{includeall,hidevolumes,booklongxref,related,% - ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes}% + ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes,% + dashed}% -\@ifpackagelater{biblatex}{2016/09/01}% For biblatex 2.6 ff. -{\ExecuteBibliographyOptions{labeldateparts=true}}% -{\@ifpackagelater{biblatex}{2013/03/30} - {\ExecuteBibliographyOptions{labeldate=true}} - {\ExecuteBibliographyOptions{labelyear=true}}}% +\ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}% +\ExecuteBibliographyOptions[dataset]{authortitle=true}% \iftoggle{cms@legalnotes}% {\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% {}% -\@ifpackagelater{biblatex}{2016/09/01}% For biblatex 3.5 ff. -{\global\togglefalse{cms@datedash}} -{\@ifpackagelater{biblatex}{2014/02/20}% For biblatex 2.9 ff. - {\global\toggletrue{cms@datedash}}% - {\global\togglefalse{cms@datedash}}}% +\AtEndPreamble{% Automatic sorting by shorthand when it appears + \iftoggle{cms@los}% at the head of the entry. + {\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \step[fieldsource=shorthand, final] + \step[fieldset=sortname, origfieldval]}}}}% + {}} \DeclareLabeltitle[legislation]{% \field{shorttitle}% @@ -520,6 +455,9 @@ citation style] \noinherit{urlyear} \noinherit{urlmonth} \noinherit{urlday} + \noinherit{urlseason} + \noinherit{urlhour} + \noinherit{urlminute} \noinherit{doi} \noinherit{eprint} \noinherit{eprinttype} @@ -530,18 +468,32 @@ citation style] \noinherit{year} \noinherit{month} \noinherit{day} + \noinherit{season} \noinherit{endyear} \noinherit{endmonth} \noinherit{endday} + \noinherit{endseason} \noinherit{origyear} \noinherit{origmonth} \noinherit{origday} + \noinherit{origseason} \noinherit{origendyear} \noinherit{origendmonth} - \noinherit{origendday}} + \noinherit{origendday} + \noinherit{origendseason}} % More authordate options % +\DeclareExtradate{% + \scope{ + \field{labelyear} + \field{year} + } + \scope{ + \field{verbc} + } +} + \DeclareSortingTemplate{cms}{% Updated to >3.7 format \sort{ \field{presort} @@ -573,46 +525,63 @@ citation style] \field{title} } \sort{ + \field{endyear} + \field{eventendyear} + \field{origendyear} + } + \sort{ \field[padside=left,padwidth=4,padchar=0]{volume} \literal{0000} } } +\DeclareSortExclusion{misc,online}{organization} +\DeclareSortExclusion{inreference,mvreference,reference}{% + author,editor,namea,nameb,namec,translator} + \DeclareSortingTemplate{shortjournal}{% \sort{ \field{shortjournal} } } -\@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4 -{\DeclareLabelname{\field{shortauthor} \field{author}% - \field{shorteditor} \field{namea} \field{editor}% - \field{nameb} \field{translator} \field{namec}}}% -{\DeclareLabelname{shortauthor,author,shorteditor,namea,% - editor,nameb,translator,namec}}% +\DeclareSortingTemplate{shortseries}{% + \sort{ + \field{shortseries} + } +} + +\DeclareLabelname{\field{shortauthor} \field{author}% + \field{shorteditor} \field{namea} \field{editor}% + \field{nameb} \field{translator} \field{namec}}% -\DeclareEntryOption{switchdates}[true]{% +\DeclareEntryOption[boolean]{switchdates}[true]{% \settoggle{cms@switchdates}{#1}}% -\DeclareBibliographyOption{strict}[true]{% - \let\splitfootnoterule\footnoterule - \renewcommand\footnoterule{}% - \advance\skip\footins 4\p@\@plus2\p@\relax - \gdef\split@prev{0}% - \let\pagefootnoterule\footnoterule - % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} - \def\footnoterule{\relax - \ifnum\split@prev=\z@ - \pagefootnoterule - \else - \splitfootnoterule - \fi - \xdef\split@prev{\the\insertpenalties}% - }}% +\DeclareBibliographyOption[boolean]{strict}[true]{% + \settoggle{cms@strict}{#1}% + \iftoggle{cms@strict}% + {\let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0}% + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }}% + {}}% \protected\def\blx@newcunit{% - \global\let\blx@unitpunct\newcunitpunct - \global\toggletrue{blx@unit}}% + \iftoggle{blx@keepunit}% + {}% + {\global\let\blx@unitpunct\newcunitpunct + \global\toggletrue{blx@unit}}}% \appto\blx@blxinit{% \let\newcunit\blx@newcunit}% @@ -660,14 +629,18 @@ citation style] \newbibmacro*{cite}{% \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% {\usebibmacro{cite:ibid}}% - {\iffieldequalstr{entrysubtype}{classical}% Similar to notes+bib + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% Similar to notes+bib {\iffieldundef{shorthand}% {\ifthenelse{\ifnameundef{labelname}\OR \ifentrytype{inreference}\OR \ifentrytype{reference}\OR \ifentrytype{mvreference}}% Simplified for CMS {\usebibmacro{cite:label}% - \setunit{\cms@testspace}% + \setunit{\cms@testspace}% Is this right? \usebibmacro{cite:reinit}}% {\iffieldequals{fullhash}{\cbx@lasthash}% {\iffieldundef{postnote}% @@ -677,10 +650,12 @@ citation style] {\iffieldequals{fullhash}{\cbx@lastyear}% {}% {\usebibmacro{cmsbracketname}% For names in [] - \ifentrytype{customc}% - {\newcunit}% - {\setunit{\cms@testspace}}}% - \usebibmacro{cite:label}% + \ifthenelse{\ifentrytype{misc}\AND% + \iffieldequalstr{entrysubtype}{classical}}% + {\cms@testspace}{\newcunit}}% Wrong? + \ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% + {\usebibmacro{cite:label}}% \iffieldundef{postnote}% {\savefield{fullhash}{\cbx@lasthash}}% {\savefield{fullhash}{\cbx@lastyear}}}}}% @@ -691,7 +666,7 @@ citation style] \ifentrytype{reference}\OR \ifentrytype{mvreference}}% Simplified for CMS {\usebibmacro{cite:label}% - \setunit{\cms@testspace}% + \setunit{\nameyeardelim}%cms@testspace% \usebibmacro{cmscitesortdate}% \usebibmacro{cite:reinit}}% {\iffieldequals{fullhash}{\cbx@lasthash}% @@ -712,15 +687,19 @@ citation style] \newbibmacro*{cmsbracketname}{% \iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{labelname}% - \bibrightbracket}% + {\printtext{\bibleftbracket\printnames{labelname}% + \bibrightbracket}}% {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{labelname}?% - \bibrightbracket}% + {\printtext{\bibleftbracket\printnames{labelname}?% + \bibrightbracket}}% {\printnames{labelname}}}}% \newbibmacro*{citeyear}{% - \iffieldequalstr{entrysubtype}{classical}% + \ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% {\iffieldundef{shorthand}% {\usebibmacro{citeyear:noshort}}% {\iftoggle{cms@los}% @@ -734,7 +713,11 @@ citation style] \setunit{\multicitedelim}}% \newbibmacro*{citeyear:noshort}{% - \iffieldequalstr{entrysubtype}{classical}% Altered for CMS + \ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% Altered for CMS {\iffieldequals{fullhash}{\cbx@lasthash}% {\iffieldundef{postnote}% {\setunit{\compcitedelim}}% @@ -765,11 +748,19 @@ citation style] {\iffieldequals{fullhash}{\cbx@lastyear}% {\setunit{\multicitedelim}% \global\undef\cbx@lastyear}% - {\iffieldequalstr{entrysubtype}{classical}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% {\setunit{\multicitedelim}}% {\setunit{\compcitedelim}}}}% {\setunit{\multicitedelim}}% - \iffieldequalstr{entrysubtype}{classical}% + \ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% {\usebibmacro{cite:label}}% {\usebibmacro{cmscitesortdate}}}% {\iffieldundef{shorthand}% @@ -777,14 +768,28 @@ citation style] \ifentrytype{inreference}\OR \ifentrytype{reference}\OR \ifentrytype{mvreference}}% - {\iffieldequalstr{entrysubtype}{classical}% - {\setunit{% - \global\booltrue{cbx:parens}% - \cms@testspace\bibopenparen}% - \ifnumequal{\value{citecount}}{1}% - {\usebibmacro{prenote}}% - {}% - \usebibmacro{cite:label}}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% + {\ifentrytype{customc}% + {\setunit{% + \global\booltrue{cbx:parens}% + \multicitedelim}%\bibopenparen% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}\clearfield{prenote}}% + {}% + \savefield{postnote}{\cms@tempz}\clearfield{postnote}% + \usebibmacro{cite:label}% + \restorefield{postnote}{\cms@tempz}}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:label}}}% {\usebibmacro{cite:label}% \ifboolexpr{% togl {cms@gencite}% @@ -822,8 +827,14 @@ citation style] \ifnumequal{\value{citecount}}{1}% {\usebibmacro{prenote}}% {}% - \iffieldequalstr{entrysubtype}{classical}% - {\usebibmacro{cite:label}}% + \ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% + {\usebibmacro{cite:label}}}% {\usebibmacro{cmscitesortdate}}% \savefield{fullhash}{\cbx@lasthash}}}% {\printfield{shorthand}% @@ -844,8 +855,14 @@ citation style] \ifnumequal{\value{citecount}}{1}% {\usebibmacro{prenote}}% {}% - \iffieldequalstr{entrysubtype}{classical}% - {\usebibmacro{cite:label}}% + \ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% + {\usebibmacro{cite:label}}}% {\usebibmacro{cmscitesortdate}}% \savefield{fullhash}{\cbx@lasthash}}% \stepcounter{textcitecount}}% Added ??? @@ -862,11 +879,19 @@ citation style] {\iffieldequals{fullhash}{\cbx@lastyear}% {\setunit{\multicitedelim}% \global\undef\cbx@lastyear}% - {\iffieldequalstr{entrysubtype}{classical}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% {\setunit{\multicitedelim}}% {\setunit{\compcitedelim}}}}% {\setunit{\multicitedelim}}% - \iffieldequalstr{entrysubtype}{classical}% + \ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% {\usebibmacro{cite:label}}% {\usebibmacro{cmscitesortdate}}}% {\iffieldundef{postnote}% @@ -882,14 +907,28 @@ citation style] \ifentrytype{reference}\OR \ifentrytype{mvreference}}% {\iffieldundef{shorthand}% - {\iffieldequalstr{entrysubtype}{classical}% - {\setunit{% - \global\booltrue{cbx:parens}% - \cms@testspace\bibopenparen}% - \ifnumequal{\value{citecount}}{1}% - {\usebibmacro{prenote}}% - {}% - \usebibmacro{cite:label}}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% + {\ifentrytype{customc}% + {\setunit{% + \global\booltrue{cbx:parens}% + \multicitedelim}%\bibopenparen% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}\clearfield{prenote}}% + {}% + \savefield{postnote}{\cms@tempz}\clearfield{postnote}% + \usebibmacro{cite:label}% + \restorefield{postnote}{\cms@tempz}}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:label}}}% {\usebibmacro{cite:label}% \ifboolexpr{% togl {cms@gencite}% @@ -930,8 +969,14 @@ citation style] {\usebibmacro{prenote}}% {}% \iffieldundef{shorthand}% - {\iffieldequalstr{entrysubtype}{classical}% - {\usebibmacro{cite:label}}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% + {\usebibmacro{cite:label}}}% {\usebibmacro{cmscitesortdate}}}% {\printtext[bibhyperref]{% \printfield{shorthand}}}% @@ -983,8 +1028,10 @@ citation style] \usebibmacro{cite:label}}}% {\printfield{shorthand}% \printtext[cmshyper]{% - \setunit{\cms@testspace}% FIXME - \usebibmacro{cite:label}}% + \setunit{\addcomma\addspace}% FIXME: wrong in 16th _and_ 17th eds? + \ifthenelse{\ifentrytype{standard}\OR\ifentrytype{manual}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% + {\usebibmacro{cite:label}}}% \savefield{fullhash}{\cbx@lasthash}}}% {\printtext[bibhyperref]{\printfield{shorthand}}% \usebibmacro{cite:reinit}}}% @@ -1010,9 +1057,30 @@ citation style] }% {\printtext[cmshyper]{\printfield[shortjournal]{shortjournal}}}% {\printtext[cmshyper]{\printfield[journaltitle]{journaltitle}}}}% - {\ifentrytype{manual}% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% {\printtext[cmshyper]{\printlist{organization}}}% - {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}% + {\ifboolexpr{% + test {\ifentrytype{video}}% + and + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + }% + {\iffieldundef{shorttitle}% + {\printtext[cmshyper]{% + \printfield{booktitle}% + \setunit{\subtitlepunct}% + \printfield[booksubtitle]{booksubtitle}}% (?) + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}% + \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}% + \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}}% {\printtext[cmshyper]{\printfield{label}}}}% \newbibmacro*{cite:labelyear+extrayear}{% @@ -1021,6 +1089,8 @@ citation style] or test {\ifentrytype{review}}% or + test {\ifentrytype{standard}}% + or test {\ifentrytype{suppperiodical}}% or test {\ifentrytype{video}}% @@ -1039,76 +1109,30 @@ citation style] {\ifboolexpr{% test {\ifentrytype{misc}}% or - test {\ifentrytype{inreference}}% - or - test {\ifentrytype{reference}}% - or - test {\ifentrytype{mvreference}}% + test {\ifentrytype{dataset}}% or not togl {cms@nodates}% }% {}% - {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS? - {\printtext[bibhyperref]{% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\printtext[cmsyearhyper]{% \iffieldundef{year}% {\iffieldundef{eventyear}% {\iffieldundef{origyear}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{urlendyear}% - {}% + {\iffieldundef{userd}% {\ifboolexpr{% - test {\iffieldequalstr{urlendyear}{}}% + togl {cms@nodates}% and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{origendyear}% - {}% - {\ifboolexpr{% - test {\iffieldequalstr{origendyear}{}}% + not test {\ifentrytype{misc}}% and - not togl {cms@datedash}% + not test {\ifentrytype{dataset}}% }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{eventendyear}% - {}% - {\ifboolexpr{% - test {\iffieldequalstr{eventendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{endyear}% DATE FIX - {}% - {\ifboolexpr{% - test {\iffieldequalstr{endyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}}}% + {\bibstring{nodate}}% + {}}% + {\printurldateextra}}% + {\printorigdateextra}}% + {\printeventdateextra}}% + {\printdateextra}}}}% \newbibmacro*{cite:origfirst+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% @@ -1116,76 +1140,30 @@ citation style] {\ifboolexpr{% test {\ifentrytype{misc}}% or - test {\ifentrytype{inreference}}% - or - test {\ifentrytype{reference}}% - or - test {\ifentrytype{mvreference}}% + test {\ifentrytype{dataset}}% or not togl {cms@nodates}% }% {}% - {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS? - {\printtext[bibhyperref]{% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\printtext[cmsyearhyper]{% \iffieldundef{origyear}% {\iffieldundef{year}% {\iffieldundef{eventyear}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{urlendyear}% - {}% + {\iffieldundef{userd}% {\ifboolexpr{% - test {\iffieldequalstr{urlendyear}{}}% + togl {cms@nodates}% and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{eventendyear}% - {}% - {\ifboolexpr{% - test {\iffieldequalstr{eventendyear}{}}% + not test {\ifentrytype{misc}}% and - not togl {cms@datedash}% + not test {\ifentrytype{dataset}}% }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{endyear}% - {}% - {\ifboolexpr{% - test {\iffieldequalstr{endyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{origendyear}% DATE FIX - {}% - {\ifboolexpr{% - test {\iffieldequalstr{origendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}}}% + {\bibstring{nodate}}% + {}}% + {\printurldateextra}}% + {\printeventdateextra}}% + {\printdateextra}}% + {\printorigdateextra}}}}% \newbibmacro*{cite:av+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% @@ -1193,84 +1171,30 @@ citation style] {\ifboolexpr{% test {\ifentrytype{misc}}% or - test {\ifentrytype{inreference}}% - or - test {\ifentrytype{reference}}% - or - test {\ifentrytype{mvreference}}% + test {\ifentrytype{dataset}}% or not togl {cms@nodates}% }% {}% - {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS? - {\printtext[bibhyperref]{% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\printtext[cmsyearhyper]{% \iffieldundef{eventyear}% {\iffieldundef{origyear}% {\iffieldundef{year}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{urlendyear}% - {}% + {\iffieldundef{userd}% {\ifboolexpr{% - test {\iffieldequalstr{urlendyear}{}}% + togl {cms@nodates}% and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{endyear}% - {}% - {\ifboolexpr{% - test {\iffieldequalstr{endyear}{}}% + not test {\ifentrytype{misc}}% and - not togl {cms@datedash}% + not test {\ifentrytype{dataset}}% }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{origendyear}% - {}% - {\ifboolexpr{% - test {\iffieldequalstr{origendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}% - {\printfield{labelyear}% - \iffieldundef{extradate}% - {}% - {\setunit*{}% - \printfield{extradate}}% - \iffieldundef{eventendyear}% DATE FIX - {}% - {\ifboolexpr{% - test {\iffieldequalstr{eventendyear}{}}% - and - not togl {cms@datedash}% - }% - {\mbox{\bibdatedash}}% - {\usebibmacro{cms@test@labelend}}}}}}}% - -\newbibmacro*{cms@test@labelend}{% For printing year ranges in 3.5 ff. - \iffieldundef{labelendyear}% - {}% - {\ifthenelse{\iffieldequalstr{labelendyear}{}\OR% - \iffieldsequal{labelyear}{labelendyear}}% - {}% - {\bibdatedash\printfield{labelendyear}}}}% + {\bibstring{nodate}}% + {}}% + {\printurldateextra}}% + {\printdateextra}}% + {\printorigdateextra}}% + {\printeventdateextra}}}}% \newbibmacro*{cmscitesortdate}{% Attempt to solve date-related problems \ifboolexpr{% @@ -1305,11 +1229,15 @@ citation style] {\iftoggle{cms@bothlabelold}% {\usebibmacro{cite:bothyear+oldstyle}}% {\iftoggle{cms@fulldate}% - {\newcunit\printtext[bibhyperref]{\printdate}}% Consistency(?) - {\usebibmacro{cite:labelyear+extrayear}}}}}}% - \ifcsdef{@cms@tempdate}% - {\toggletrue{\@cms@tempdate}}% - {}}% + {\printtext[cmsyearhyper]{% + \csuse{print\strfield{labeldatesource}date}% + \iffieldundef{\strfield{labeldatesource}hour}% + {}% Consistency(?) + {\newcunit\csuse{print\strfield{labeldatesource}time}}}}% + {\usebibmacro{cite:labelyear+extrayear}}}}}}}% + % \ifcsdef{@cms@tempdate}% + % {\toggletrue{\@cms@tempdate}}% + % {}% \newbibmacro*{cite:origyear+labelyear}{% \ifboolexpr{ ( @@ -1317,6 +1245,8 @@ citation style] or test {\ifentrytype{review}}% or + test {\ifentrytype{standard}}% + or test {\ifentrytype{suppperiodical}}% or test {\ifentrytype{video}}% @@ -1334,8 +1264,9 @@ citation style] \usebibmacro{cite:standard+labelyear+extrayear}}% {\iftoggle{cms@ordate}% {\usebibmacro{cite:origfirst+labelyear+extrayear}}% - {\printtext[bibhyperref]{% - \usebibmacro{origyear+endyear}}}}}}}% + {\clearfield{extradate}% + \printtext[cmsyearhyper]{% + \printorigdateextra}}}}}}% \usebibmacro{origyear+endyear} \newbibmacro*{cite:bothyear+oldstyle}{% \ifboolexpr{ ( @@ -1343,6 +1274,8 @@ citation style] or test {\ifentrytype{review}}% or + test {\ifentrytype{standard}}% + or test {\ifentrytype{suppperiodical}}% or test {\ifentrytype{video}}% @@ -1352,11 +1285,13 @@ citation style] }% {\usebibmacro{cite:av+labelyear+extrayear}}% {\iftoggle{cms@switchdates}% - {\printtext[bibhyperref]{% + {\printtext[cmsyearhyper]{% \bibopenparen% \usebibmacro{cite:labelyear+extrayear}% \bibcloseparen% - \addspace\usebibmacro{origyear+endyear}}}% + \clearfield{extradate}% + \addspace% + \printorigdateextra}}% \usebibmacro{origyear+endyear} {\iffieldundef{origyear}% ??? {\iftoggle{cms@ordate}% {}% @@ -1365,18 +1300,23 @@ citation style] {\iftoggle{cms@ordate}% Added test for year field ??? {\iffieldundef{year}% {\usebibmacro{cite:origfirst+labelyear+extrayear}}% - {\printtext[bibhyperref]{% + {\printtext[cmsyearhyper]{% \bibopenparen% \usebibmacro{cite:origfirst+labelyear+extrayear}% \bibcloseparen% \setunit{\addspace}%\addspace% ??? - \usebibmacro{year+endyear}}}}% - {\printtext[bibhyperref]{% - \bibopenparen% - \usebibmacro{origyear+endyear}% - \bibcloseparen% - \clearfield{extradate}\addspace% - \usebibmacro{cite:standard+labelyear+extrayear}}}}}}}% + \clearfield{extradate}% + \printdateextra}}}%\usebibmacro{year+endyear} + {\iffieldundef{year}% + {\usebibmacro{cite:origfirst+labelyear+extrayear}}% + {\printtext[cmsyearhyper]{% + \bibopenparen% + \clearfield{extradate}% + \printorigdateextra% + % \usebibmacro{origyear+endyear}% + \bibcloseparen% + \addspace% + \usebibmacro{cite:standard+labelyear+extrayear}}}}}}}}% \newbibmacro*{cite:save}{% \savefield{entrykey}{\cbx@lastkey}}% @@ -1443,8 +1383,36 @@ citation style] {}% {\usebibmacro{postnote}} +\DeclareCiteCommand{\cmshypercite}% Intended for CustomC comments + {\usebibmacro{cite:init}% + \togglefalse{blx@skipbib}% + \togglefalse{cms@authortitle}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {}%\usebibmacro{postnote} Stops double printing + +\DeclareCiteCommand{\atcite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \toggletrue{cms@authortitle}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\atpcite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \toggletrue{cms@authortitle}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + %%% Commands, macros and formats for the Legal entry types %%% - + \DeclareCiteCommand{\footfullcite}[\mkbibfootnote] {\usebibmacro{prenote}}%\bibsentence {\usebibmacro{citeindex}% @@ -1478,6 +1446,15 @@ citation style] {\multicitedelim} {} +\DeclareCiteCommand{\runcite}% 17th ed. + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \toggletrue{cms@running@text}% + \usebibmacro{cite}% + \togglefalse{cms@running@text}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + \newbibmacro*{cite:full}{% \iftoggle{cms@noneshort}% {\ifboolexpr{% @@ -1678,6 +1655,8 @@ citation style] \ifboolexpr{% test {\iffootnote}% and + togl {cms@supranotes}% + and ( test {\ifentrytype{legal}}% or @@ -1767,7 +1746,7 @@ citation style] \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}\AND% \iffieldundef{titleaddon}}% {}% - {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + {\printtext[title]{% \printfield[noformat]{title}% \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% @@ -1861,8 +1840,15 @@ citation style] togl {cms@url}% and not test {\iffieldundef{urlyear}}% + }% + {\printurldate% + \ifboolexpr{% 17th ed. + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% }% - {\printurldate}% Date fix + {\newcunit\printurltime}% + {}}% Date fix {}% \newcunit\newblock \iftoggle{cms@doionly}% @@ -1929,7 +1915,11 @@ citation style] {\printtext{at}\addspace #1}}}}% \DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{% - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{pagination}% {\mkcomprange[\mkjuridprefix]{#1}}% {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% @@ -1937,7 +1927,12 @@ citation style] {\mkjuridprefix{#1}}% {\mkpageprefix[pagination]{#1}}}}% -\DeclareFieldFormat[jurisdiction,legal]{title}{#1\isdot} +\DeclareFieldFormat[jurisdiction]{title}{% + \iftoggle{cms@running@text}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[legal]{title}{#1\isdot} \DeclareFieldFormat[legislation]{title}{% \iffieldequalstr{entrysubtype}{hearing}% @@ -2008,7 +2003,41 @@ citation style] {c\adddotspace #1}% {\bibsstring{chapter}~#1}}% -%%% Textcite commands taken verbatim from authoryear-comp.cbx %%% +\DeclareFieldFormat[music]{chapter}{\bibstring{track}~#1} + +\newbibmacro*{patenttitle+stitle}{% Unify Patent entries across 2 AD styles + \printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock} + +\DeclareFieldFormat[patent]{title}{% + \iffieldundef{title}% + {}% + {\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat[patent]{citetitle}{\MakeSentenceCase*{#1}} + +\DeclareFieldFormat[patent]{lostitle}{\MakeSentenceCase*{#1}} + +\DeclareFieldFormat[patent]{subtitle}{% + \iffieldundef{subtitle}% + {}% + {\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat[dataset]{title}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +\DeclareFieldAlias[dataset]{citetitle}[dataset]{title} + +\DeclareFieldAlias[dataset]{lostitle}[dataset]{title} + +%%% Textcite commands taken verbatim from authoryear-comp.cbx %%% \DeclareCiteCommand{\cbx@textcite} {\usebibmacro{cite:init}} @@ -2216,7 +2245,7 @@ citation style] \DeclareListFormat{periodplace}{\mkbibparens{#1}} -\DeclareListFormat{lista}{% +\DeclareListFormat{lista}{% \ifthenelse{\value{listtotal}<2}% {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}% {\ifthenelse{\value{listcount}=1}% @@ -2229,19 +2258,12 @@ citation style] \DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot} -\iftoggle{cms@comprange}% Audrey Boruvka's code from StackExchange -{\patchcmd{\blx@comprange@check}% - {\blx@comprange@comp{#1}{#2}}% - {\blx@tempcnta=#1% - \divide\blx@tempcnta100% - \multiply\blx@tempcnta100% - \ifnumequal{\blx@tempcnta}{#1}% - {\blx@range@out@value{#1\bibrangedash#2}}% - {\blx@comprange@comp{#1}{#2}}}% - {}{}}{}% - \DeclareFieldFormat{postnote}{% Changed for page compression option - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{pagination}% {\mkcomprange{#1}}% {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% @@ -2250,7 +2272,11 @@ citation style] {\mkpageprefix[pagination]{#1}}}}% \DeclareFieldFormat[inreference]{postnote}{% - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{pagination}% {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% @@ -2259,7 +2285,11 @@ citation style] {\mkpageprefix[pagination]{#1}}}}% \DeclareFieldFormat{pages}{% - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{bookpagination}% {\mkcomprange{#1}\isdot}% {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}% @@ -2269,13 +2299,6 @@ citation style] \DeclareFieldFormat{bibnote}{\MakeCapital{#1}} -% \DeclareFieldFormat{edlang}{% -% \ifbibstring{#1}% -% {\bibstring{#1}}% -% {\ifbibstring{ed#1}% -% {\bibstring{ed#1}}% -% {\ifcapital{\MakeCapital{#1}}{#1}}}} - \DeclareListFormat{edlang}{% Required for feminine forms in some \usebibmacro{list:delim}{% languages \ifbibstring{#1}% @@ -2298,13 +2321,21 @@ citation style] {#1}} \DeclareFieldFormat[customc]{citetitle}{% - \ifnameundef{author}% - {#1}% - {\iffieldundef{nameaddon}% - {\mkbibemph{\bibstring{see}}% - \addspace% - #1}% - {\printfield{nameaddon}\addspace #1}}} + \iffieldequalstr{pubstate}{cms-generated}% Comments 17th ed. + {\ifbibstring{#1}% + {\bibstring{#1}}% + {#1}% + \StrGobbleRight{\strfield{entrykey}}{8}[\cms@aa]% + \addspace\cmshypercite{\cms@aa}}% + {\ifnameundef{author}% + {#1}% + {\iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {\printfield{nameaddon}\addspace #1}}}} + +\DeclareFieldAlias[customc]{lostitle}[customc]{title} \DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot} @@ -2312,8 +2343,6 @@ citation style] %%%% Other Field Formats %%%% -\DeclareNumChars*{:}% - \DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} \DeclareFieldFormat{note}{% @@ -2328,18 +2357,21 @@ citation style] {\MakeCapital{#1\isdot}}% {#1\isdot}}} -\DeclareFieldFormat[artwork,image]{type}{% +\DeclareFieldFormat[artwork,image,online,article,review,suppperiodical,book] +{type}{% \ifcapital% {\MakeCapital{#1}}% {#1}} +\DeclareFieldFormat[video]{usera}{% + \bibstring{on}\addspace #1} + +\DeclareFieldFormat{version}{\bibsstring{version}\addspace #1}% + \DeclareFieldFormat{url}{\url{#1}} \DeclareFieldFormat{doi}{% - \textrm{doi}\addcolon - \ifhyperref - {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}% - {\nolinkurl{#1}}} + \url{https://doi.org/#1}} \DeclareFieldFormat[music]{date}{% Generalize userd ??? \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}% @@ -2356,6 +2388,37 @@ citation style] {#1}% {\printfield{userd}\addspace #1}} +\DeclareFieldFormat[artwork,image]{date}{% + \iffieldundef{origyear}% + {#1}% + {\iftoggle{cms@switchdates}% + {#1}% + {\iffieldundef{userd}% + {\bibstring{printed}\addspace #1}% + {\printfield{userd}\addspace #1}}}} + +\DeclareFieldFormat[artwork,image]{origdate}{% + \iffieldundef{year}% + {#1}% + {\iftoggle{cms@switchdates}% + {\iffieldundef{userd}% + {\bibstring{printed}\addspace #1}% + {\printfield{userd}\addspace #1}}% + {#1}}} + +\DeclareFieldFormat[artwork,image]{urldate}{% + \ifboolexpr{% + test {\iffieldundef{userd}}% + or + ( + not test {\iffieldundef{year}}% + and + not test {\iffieldundef{origyear}}% + ) + }% + {\bibstring{urlseen}\addspace #1}% + {\printfield{userd}\addspace #1}} + \DeclareFieldFormat{date}{% Generalize userd ??? \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}}% {#1}% @@ -2378,7 +2441,7 @@ citation style] {\printfield{userd}\addspace #1}} \DeclareFieldFormat[music]{origdate}{% 16th ed. - \iftoggle{cms@reprint}% Date fix + \iffieldequalstr{pubstate}{reprint}% Date fix {#1}% {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% {\bibstring{discrecorded}\space #1}% @@ -2398,7 +2461,12 @@ citation style] \DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! -\DeclareFieldFormat[review,suppperiodical]{nameaddon}{#1\bibsentence}% 16th ed. +\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{#1\bibsentence}% + +\DeclareFieldFormat[misc]{nameaddon}{% + \iffieldundef{entrysubtype}% + {\mkbibbrackets{#1\bibsentence}}% + {#1\bibsentence}} \DeclareFieldFormat[customc]{nameaddon}{% For cross-refs \ifbibstring{#1}% @@ -2442,6 +2510,10 @@ citation style] {\addnbspace #1}% {\addcomma\addspace #1}} +\DeclareFieldFormat{series}{#1\isdot} + +\DeclareFieldFormat{shortseries}{#1\isdot} + \DeclareFieldFormat{addendum}{% \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} @@ -2461,8 +2533,11 @@ citation style] \DeclareFieldFormat{cmshyper}{% Control the number of elements hyperlinked. \ifboolexpr{% - ( + (( not test {\iffieldequalstr{entrysubtype}{classical}}% + and + not togl {cms@authortitle}% + ) or togl {blx@skipbib}% ) @@ -2472,6 +2547,11 @@ citation style] {#1}% {\bibhyperref{#1}}}% +\DeclareFieldFormat{cmsyearhyper}{% Only link when in ref list + \iftoggle{blx@skipbib} + {#1}% + {\bibhyperref{#1}}}% + %%%% Related field formats from biblatex.def %%%% \DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens @@ -2526,24 +2606,125 @@ citation style] \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} \renewcommand*{\nameyeardelim}{% - \ifthenelse{\iffieldundef{labelyear}\OR% - \iffieldequalstr{labelyear}{nodate}}% - {\addcomma\addspace}% - {\iffieldundef{origyear}% Is this test correct? - {\iffieldundef{year}% - {\cms@testspace}% FIXME -- automatic n.d. ??? labeldate test? - {\NumCheckSetup{\renewcommand{\mkbibbrackets}{\expandonce}% - \DeclareNumChars*{[?]s}}% For bracketed dates, and decades. - \iffieldnums{year}% This one works. + \ifboolexpr{% + ( + togl {cms@bothlabelnew}% + or + togl {cms@bothlabelold}% + ) + and + ( + not test {\iffieldundef{year}}% + and + not test {\iffieldundef{origyear}}% + ) + }% + {\cms@testspace}% + {\cms@pre@punct% + \ifboolexpr{% + test {\iffieldundef{labelyear}}% + or + ( + test {\iffieldundef{userd}}% + and + test {\iffieldequalstr{labeldatesource}{url}}% + ) + or + test {\iffieldequalstr{labelyear}{nodate}}% + or + togl {cms@fulldate}% + or + bool {cms:comma}% + }% + {\addcomma\addspace}% + {\iffieldundef{origyear}% + {\iffieldundef{year}% {\cms@testspace}% - {\addcomma\addspace}}}% 16th ed. wants comma before n.d. (!) - {\cms@testspace}}} + {\ifboolexpr{% + test {\iffieldnums{year}}% + or + test {\iffieldstart{year}{[}}%] For backward compatibility + }% + {\cms@testspace}% + {\addcomma\addspace}}}% + {\cms@testspace}}\global\boolfalse{cms:comma}}} -\newcommand{\classicpunct}{% - \ifthenelse{\iffieldequalstr{entrysubtype}{classical}\OR% - \ifentrytype{letter}}% - {\setunit*{\addspace}}% - {\setunit*{\addcomma\addspace}}} +\newrobustcmd*{\cms@citepunct@helper}[1]{% + \begingroup + \blx@metadateinfo{#1}% + \ifboolexpr{% + test {\if@cms@bracket}% + and + not togl {cms@noyearbrackets}% + }% + {}% + {\if@cms@circa% + {\global\booltrue{cms:comma}}% + {\if@cms@adfirst% + {\iffieldnum{#1year}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + not test {\iffieldequalstr{#1dateera}{bce}}% + and + test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}% + }% + {\global\booltrue{cms:comma}}% + {}}% + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@languagename{french}}% + or + test {\ifdefstring\blx@languagename{dutch}}% + }% + {\ifboolexpr{% + not test {\iffieldequalstr{#1dateunspecified}{yearindecade}}% + or + togl {cms@alwaysrange}% + or + togl {cms@decaderange}% + }% + {}% + {\global\booltrue{cms:comma}}}% + {\ifboolexpr{% + test {\ifdefstring\blx@languagename{brazilian}}% + or + test {\ifdefstring\blx@languagename{brazil}}% + }% + {\ifboolexpr{% + test {\iffieldundef{#1dateunspecified}}% + or + togl {cms@alwaysrange}% + }% + {}% + {\ifboolexpr{% + ( + test {\iffieldequalstr{#1dateunspecified}{yearindecade}}% + and + not togl {cms@decaderange}% + ) + or + ( + test {\iffieldequalstr{#1dateunspecified}{yearincentury}}% + and + not togl {cms@centuryrange}% + ) + }% + {\global\booltrue{cms:comma}}% + {}}}% + {}}}}}% + \endgroup} + +\newrobustcmd*{\cms@pre@punct}{% + \iftoggle{cms@origlabel}% + {\cms@citepunct@helper{orig}}% + {\ifdefstring\abx@field@labeldatesource{year}% + {\cms@citepunct@helper{}}% + {\ifdefstring\abx@field@labeldatesource{origyear}% + {\cms@citepunct@helper{orig}}% + {\ifdefstring\abx@field@labeldatesource{nodate}% + {}% + {\cms@citepunct@helper{\abx@field@labeldatesource}}}}}} \renewcommand*{\subtitlepunct}{% Follows CMS16 spec. \ifboolexpr{% @@ -2556,15 +2737,17 @@ citation style] \global\csundef{@cmsst}}% } -\newcommand{\postvolpunct}{\addcolon}% +\newcommand*{\reprintpunct}{% + \ifthenelse{\ifentrytype{artwork}\OR\ifentrytype{image}}% + {}% + {\ifentrytype{dataset}% + {\setunit{\addspace}}% + {\printunit{\addcomma\addspace}}}} -\newcommand{\parttrans}{% - {\bibstring{bytranslator}\space}}% +\newcommand*{\postvolpunct}{\addcolon}% -% \newcommand{\partedit}{% -% \iftoggle{cms@postposit}% Kludge to make it work in French. -% {\bibstring{byeditoralt}\addspace}% -% {\bibstring{byeditor}\addspace}}% +\newcommand*{\parttrans}{% + {\bibstring{bytranslator}\space}}% \protected\def\partedit#1{% \ifcat\noexpand~\noexpand#1% @@ -2597,24 +2780,24 @@ citation style] \cms@tempa% }% -\newcommand{\part@edit@i}{\bibstring{byeditor}\addspace}% +\newcommand*{\part@edit@i}{\bibstring{byeditor}\addspace}% -\newcommand{\partcomp}{% +\newcommand*{\partcomp}{% {\bibstring{bycompiler}\space}}% -\newcommand{\parteditandcomp}{% +\newcommand*{\parteditandcomp}{% {\bibstring{byeditorcp}\space}}% -\newcommand{\parttransandcomp}{% +\newcommand*{\parttransandcomp}{% {\bibstring{bytranslatorcp}\space}}% -\newcommand{\partedittransandcomp}{% +\newcommand*{\partedittransandcomp}{% {\bibstring{byeditortrcp}\space}}% -\newcommand{\parteditandtrans}{% +\newcommand*{\parteditandtrans}{% {\bibstring{byeditortr}\space}}% -\newcommand{\reprint}{\bibstring{reprint}}% +\newcommand*{\reprint}{\bibstring{reprint}}% \newcommand*{\multipubsdelim}{\addnbspace/\addspace} @@ -2653,11 +2836,11 @@ citation style] {}% {\cms@testspace}}% {\iffieldequalstr{entrysubtype}{classical}% For Notes+Bib, too? - {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}% + {\DeclareNumChars*{abcdeABCDE:}% \iffieldpages{postnote}% {\cms@testspace}% {\addcomma\addspace}}% - {\addcomma\addspace}}}} + {\addcomma\addspace}\DeclareNumChars{.}}}} \newcommand*{\postnotewrapper}{% \iftoggle{cms@modpostnote}% @@ -2689,13 +2872,16 @@ citation style] \newcommand*{\editordelim}{% Otherwise you get an inaccurate comma. \iffieldequalstr{editortype}{none}% - {\addperiod\addspace}% - {\addcomma\addspace}} + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace \newcommand*{\nameadelim}{% Otherwise you get an inaccurate comma. \iffieldequalstr{nameatype}{none}% - {\addperiod\addspace}% - {\addcomma\addspace}} + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace + +\DeclareDelimFormat{dateeradelim}{\addnbspace}% +\DeclareDelimFormat{dateaddelim}{\addnbspace}% \DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide \begingroup% final {by}. @@ -2710,7 +2896,7 @@ citation style] {\ifboolexpr{% test {\ifnumless{\value{listcount}}{\value{liststop}}}% or - test \ifmoreitems% + test {\ifmoreitems}% }% {\bibstring{from#1}}% {\bibstring{cfrom#1}}}% @@ -2724,7 +2910,7 @@ citation style] \ifboolexpr{% test {\ifnumequal{\value{listcount}}{\value{liststop}}}% and - test \ifmoreitems% + test {\ifmoreitems}% }% {\ifnumgreater{\value{liststop}}{1}% {\finalandcomma}% @@ -2805,6 +2991,14 @@ citation style] {\bibstring{by}\addspace\printnames[default]{bookauthor}% \newcunit\newblock}}} +\newbibmacro*{music+bookauthor}{% + \ifnameundef{bookauthor}% + {}% + {\ifnamesequal{author}{bookauthor}% + {}% + {\printnames[default]{bookauthor}% + \newcunit\newblock}}} + \newbibmacro*{editorpunct}{% \ifthenelse{\(\iffieldundef{booktitle}\AND% \iffieldundef{maintitle}\AND\iffieldundef{issuetitle}\)% @@ -2819,6 +3013,10 @@ citation style] \printfield{edition}% \clearfield{edition}}% +\newbibmacro*{version}{% + \printfield{version}% + \clearfield{version}}% + \newbibmacro*{inforaft}{% \ifnameundef{introduction}% {\ifnameundef{afterword}% @@ -2838,12 +3036,42 @@ citation style] \andmoredelim\bibstring{andmore}\bibrightbracket}% {}} +\newbibmacro*{video+tv+title}{% For 17th ed. + \ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + ( + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + ) + }% + {\printtext{% + \printfield{booktitle}% + \setunit{\subtitlepunct}% + \printfield[booksubtitle]{booksubtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{booktitleaddon}% + \ifundef\bbx@lasthash{}{\newcunit}}% + {\usebibmacro{video+title}% Simplifies trad style + \iffieldundef{booktitle}% Comma after italics, period after quotes + {\setunit{\ctitleaddonpunct}}% + {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% + \printfield{titleaddon}%\usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}}} + \newbibmacro*{reference+title}{% - \ifthenelse{\iffieldequals{title}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\bibnamedash\addperiod\addspace}% - {\usebibmacro{italtitle+stitle}% - \savefield{title}{\bbx@lasthash}}} + \ifboolexpr{% + test {\iffieldequals{title}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\usebibmacro{italtitle+stitle}% + \savefield{title}{\bbx@lasthash}}} \newbibmacro*{mag+news+author}{% \ifboolexpr{% @@ -2855,28 +3083,26 @@ citation style] and not togl {cms@origpublished}% }% - {\ifthenelse{\iffieldequals{journaltitle}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\bibnamedash\addperiod\addspace}% + {\ifboolexpr{% + test {\iffieldequals{journaltitle}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% {\usebibmacro{journal+sub}% \setunit*{\addspace}% \printlist[periodplace]{location}% \savefield{journaltitle}{\bbx@lasthash}}}% {\usebibmacro{author}}} -\newbibmacro*{cmag+news+author}{% - \ifnameundef{author}% - {\usebibmacro{journal+sub}% - \setunit*{\addspace}% - \printlist[periodplace]{location}}% - {\usebibmacro{author}}} - \newbibmacro*{type+inst+year}{% \printfield{type}% \newcunit \printlist{institution}% \setunit*{\addcomma\space}% - \printfield{year}} + \printdate}% Was printfield{year}? \newbibmacro*{institution+organization}{% \iflistundef{organization}% @@ -2887,6 +3113,31 @@ citation style] \newcunit% \printlist{institution}}} +\newbibmacro*{misc+institution+organization}{% 17th ed. + \iffieldundef{number}% + {\iflistundef{organization}% + {\iflistundef{institution}% + {}% + {\printlist{institution}}}% + {\printlist{organization}% + \newcunit% + \printlist{institution}}}% + {\iflistundef{organization}% + {\iflistundef{institution}% + {\newcunit\printfield{number}}% + {\newcunit\printfield{number}% + \newunit% + \printlist{institution}}}% + {\iflistundef{institution}% + {\newcunit\printfield{number}% + \newunit% + \printlist{organization}}% + {\printlist{organization}% + \newcunit% + \printfield{number}% + \newcunit% + \printlist{institution}}}}} + \newbibmacro*{author+org}{% \ifnameundef{author}% {\ifnameundef{editor}% @@ -2896,8 +3147,10 @@ citation style] test {\iflistequals{organization}{\bbx@lasthash}}% and not test {\iffirstonpage}% + and + togl {cms@namedash}% }% - {\bibnamedash\addperiod\addspace}% + {\printtext{\bibnamedash}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printlist{organization}\bibcloseparen}% {\printlist{organization}}% @@ -2905,10 +3158,19 @@ citation style] {\usebibmacro{editor}}}% {\usebibmacro{author/editor}}} -\newbibmacro*{cbytypestrg}[2]{% +\renewbibmacro*{bytypestrg}[2]{% From biblatex.def \iffieldundef{#1type}% {\bibstring{by#2}}% - {\bibstring{by\thefield{#1type}}}} + {\ifbibxstring{by\thefield{#1type}}% + {\bibstring{by\thefield{#1type}}}% + {\printtext[note]{\thefield{#1type}}}}}% + +\newbibmacro*{cbytypestrg}[2]{% + \iffieldundef{#1type}% + {\bibstring{cby#2}}% + {\ifbibxstring{cby\thefield{#1type}}% + {\bibstring{cby\thefield{#1type}}}% + {\printtext[note]{\thefield{#1type}}}}}% \newbibmacro*{cbyeditor}{% \ifnameundef{editor}% @@ -3121,45 +3383,52 @@ citation style] \newbibmacro*{chapinscore}{% \iffieldundef{chapter}% {\ifboolexpr{% - test {\ifentrytype{music}}% + not test {\iffieldundef{eventyear}}% and not test {\iffieldundef{booktitle}}% and + test {\ifentrytype{audio}}% + and not togl {cms@origpublished}% }% - {\bibstring{on}\setunit{\addspace}}% + {\bibstring{in}\setunit{\addspace}}% {}}% {\printfield{chapter}\clearfield{chapter}% \iffieldundef{booktitle}% {}% {\addspace\bibstring{of}\setunit{\addspace}}}}% -\newbibmacro*{music+ser+num}{% - \iffieldundef{series}% - {\iffieldundef{number}% - {}% - {\printfield{number}}}% - {\printfield{series}% - \setunit{\addspace}% - \printfield{number}}}% - -\newbibmacro*{music+publisher}{% - \iffieldundef{howpublished}% - {\iffieldundef{pubstate}% +\newbibmacro*{chap+as+track}{% + \iffieldundef{chapter}% + {\ifboolexpr{% + not test {\iffieldundef{booktitle}}% + and + not togl {cms@origpublished}% + }% + {\bibstring{on}\setunit{\addspace}}% + {}}% + {\printfield{chapter}\clearfield{chapter}% + \iffieldundef{booktitle}% {}% - {\printfield{pubstate}}}% - {\printfield{howpublished}}}% + {\addspace\bibstring{on}\setunit{\addspace}}}}% \newbibmacro*{music+origdate}{% - \iftoggle{cms@reprint}% 16th ed. + \iffieldequalstr{pubstate}{reprint}% 17th ed. {}% {\iftoggle{cms@switchdates}% Date fix - {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% {}% {\usebibmacro{cmsorigdate}}}% - {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% {}% - {\usebibmacro{cmsorigdate}}}}}% + {\usebibmacro{cmsorigdate}}}% + \iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\newunit\biblstring{\thefield{pubstate}}}% + {\newunit\printfield[prenote]{pubstate}}}}}% \newbibmacro*{music+eventdate}{% Date fix \ifthenelse{\iffieldundef{eventyear}\AND\iffieldundef{eventmonth}}% @@ -3167,10 +3436,17 @@ citation style] {\printeventdate}} \newbibmacro*{ser+num}{% - \printfield{series}% + \usebibmacro{series+or+shortser}% \printfield[sernum]{number}% \newunit} +\newbibmacro*{series+or+shortser}{% + \iffieldundef{shortseries}% + {\printfield{series}}% + {\iftoggle{cms@shser}% + {\printfield{shortseries}}% + {\printfield{series}}}} + \newbibmacro*{language+transtitle}{% \iffieldundef{usere}% {\printlist[][-\value{listtotal}]{language}}% @@ -3191,10 +3467,7 @@ citation style] \iflistundef{origpublisher}% {\setunit*{\addcomma\addspace}}% {\setunit*{\addcolon\addspace}}% - \printlist{origpublisher}% -% \setunit*{\addcomma\addspace}% -% \usebibmacro{cmsorigdate}% -}% + \printlist{origpublisher}}% \newbibmacro*{howpubl+loc+year}{% \printlist{location}% @@ -3216,8 +3489,8 @@ citation style] \usebibmacro{date}% }% -\newbibmacro*{originally+published+as}{% Punctuation fix now in - \iffieldundef{userf}% \origfullcite for 0.8e. +\newbibmacro*{originally+published+as}{% Punctuation fix now in + \iffieldundef{userf}% \origfullcite for 0.8e. {\iffieldundef{reprinttitle}% {}% {\usebibmacro{begrelated}% @@ -3270,25 +3543,29 @@ citation style] {\printlist{origlocation}% \newcunit\newblock}% \iftoggle{cms@switchdates}% - {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% {}% - {\cms@datelongalt}}% - {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% {}% - {\cms@datelong}}} + {\cms@datelong{orig}}}} \newbibmacro*{unpubl+letter+date}{% For the Misc type. - \iflistundef{origlocation}% + \iffieldundef{venue}% {}% - {\printlist{origlocation}% + {\printfield{venue}% \newcunit\newblock}% \iftoggle{cms@switchdates}% - {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% {}% - {\cms@datelongalt}}% - {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% {\printdate}% For interviews and other dated non-letters - {\cms@datelong}}} + {\cms@datelong{orig}}}} \newbibmacro*{cmsbookdate}{% \ifthenelse{\iffieldundef{year}\AND\iffieldundef{origyear}}% @@ -3304,44 +3581,54 @@ citation style] \renewbibmacro*{date}{% Adding the test solved some issues in 0.9 with \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}% - \AND\iffieldundef{origday}}% + \AND\iffieldundef{origday}\AND\iffieldundef{origseason}}% {}% {\printorigdate}}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}% - \AND\iffieldundef{day}}% punctuation in some entry types (Misc). The - {}% whole \printdate thing may need further work. + \AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some + {}% entry types (Misc). The whole \printdate thing may need further work. {\printdate}}} -\newcommand*{\cms@datelong}{% Modified for 0.9 - \iffieldundef{origmonth}% - {\printfield{origyear}}% - {\printfield[letterday]{origday}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}% - \printfield{origyear}}}% - -\newcommand*{\cms@datelongalt}{% Modified for 0.9 - \iffieldundef{month}% - {\printfield{year}}% - {\printfield[letterday]{day}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}% - \printfield{year}}}% - -\newcommand*{\letterdatelong}{% Modified for 0.9 - \iftoggle{cms@switchdates}% This one for users - {\iffieldundef{year}% Previous two for internal use +\newbibmacro*{time+stamp}{% 17th ed. + \iftoggle{cms@switchdates}% + {\iffieldundef{orighour}% {}% - {\iffieldundef{month}% - {\printfield{year}}% - {\printfield[letterday]{day}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}% - \printfield{year}}}}% - {\iffieldundef{origyear}% + {\newcunit\printorigtime}}% + {\iffieldundef{hour}% {}% - {\iffieldundef{origmonth}% - {\printfield{origyear}}% - {\printfield[letterday]{origday}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}% - \printfield{origyear}}}}}% + {\newcunit\printtime}}} + +\newcommand*{\cms@datelong}[1]{% Modified for 17th ed. + \begingroup + \protected\def\mkbibdatelong##1##2##3{% + \iffieldundef{##3}% + {}% + {\iftoggle{cms@ukord}% + {\mkbibordinal{\thefield{##3}}}% + {\stripzeros{\thefield{##3}}}% + \iffieldundef{##2}{}{\nobreakspace}}% + \iffieldundef{##2}% + {}% + {\mkbibmonth{\thefield{##2}}% + \iffieldundef{##1}{}{\space}}% + \iffieldbibstring{##1}% + {\bibstring{\thefield{##1}}}% + {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}% + \cms@mkbibrangetrunc{long}{#1}% + \endgroup}% + +\newrobustcmd*{\letterdatelong}{% For users: 17th ed. + \ifboolexpr{% + test {\ifdefstring{\blx@languagename}{american}}% + or + test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel + }% + {\iftoggle{cms@switchdates}% + {\cms@datelong{}}% + {\cms@datelong{orig}}}% + {\iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}}}% \newbibmacro*{journal+sub}{% \iffieldundef{journaltitle}% @@ -3383,17 +3670,29 @@ citation style] and not togl {cms@origpublished}% }% - {\usebibmacro{date+issue}}% + {\usebibmacro{date+issue}{a}}% {\usebibmacro{mag+date+issue}}} -\newbibmacro*{date+issue}{% +\newbibmacro*{date+issue}[1]{% + \iffieldundef{maintitle}% + {\ifblank{#1}{\newcunit\newblock}{\newunit\newblock}}% + {\printtext{% + \printfield{maintitle}% + \setunit{\subtitlepunct}% + \printfield[mainsubtitle]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}% + \newcunit\newblock}% + \printfield{usera}% For network ID and possible section of newspaper. + \setunit*{\addcomma\addspace}\newblock% \iffieldundef{issue}% {\iffieldundef{number}% - {\usebibmacro{date}}% + {\usebibmacro{date}% + \usebibmacro{time+stamp}}% 17th ed. {\iftoggle{cms@numbermonth}% {\usebibmacro{date}}% {\usebibmacro{cmsyear}}% - \setunit*{\addcomma\addspace}% Starred version for when the + \setunit*{\addcomma\addspace}% Starred version for when the \printfield[journum]{number}}}% month isn't printed because of {\printfield{issue}% the toggle. \setunit{\addspace}% @@ -3403,22 +3702,20 @@ citation style] \usebibmacro{journal+sub}% \setunit*{\addspace}% \printlist[periodplace]{location}% - \newcunit\newblock - \printfield{usera}% For network ID and possible section of newspaper. - \newcunit\newblock - \usebibmacro{date+issue}} + \newunit\newblock + \usebibmacro{date+issue}{}} \newbibmacro*{cmsyear}{% \iftoggle{cms@switchdates}% - {\printfield{origyear}}% - {\printfield{year}}} + {\clearfield{extradate}\printorigdateextra}% \printfield{origyear} + {\clearfield{extradate}\printdateextra}}% \printfield{year} \newbibmacro*{cmsorigdate}{% New for 0.9 \iftoggle{cms@switchdates}% {\printdate}% {\printorigdate}} -\newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries, +\newbibmacro*{cperiodical+ser+vol+num}[1]{% For periodical entries, \ifboolexpr{% article subtype togl {cms@citejtabb}% and @@ -3449,16 +3746,20 @@ citation style] {\newcunit \printfield[jourser]{series}% \newcunit}%\setunit*{\addspace}? - \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% - {\printfield[jourvol]{volume}% - \setunit{\addcomma\addspace}}% + \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND% + \iffieldundef{issue}\AND\iffieldundef{#1season}}% New, more accurate + {\iffieldundef{volume}% test, also in article + {\newcunit% + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}}% + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}}}% {\printfield[jourvol]{volume}% - \setunit{\addcomma\addspace}% need * here? + \newcunit% \printfield[journum]{number}% \clearfield{number}% - \setunit{\addcomma\addspace}}% - \printfield{eid}% - \newunit} + \setunit{\addcomma\addspace}}}% Moved eid for 17th ed. \newbibmacro*{periodical+date+issue}{% For periodical type & \ifboolexpr{% magazine subtype @@ -3485,10 +3786,8 @@ citation style] \printfield[stnoformat]{subtitle}}}}% \setunit*{\addspace}% \printlist[periodplace]{location}% - \newcunit\newblock - \printfield{usera}% For network ID and possible section of newspaper. - \newcunit\newblock - \usebibmacro{date+issue}} + \newunit\newblock + \usebibmacro{date+issue}{}} \renewbibmacro*{postnote}{% \iffieldundef{postnote}% @@ -3581,9 +3880,11 @@ citation style] {\bibstring{editortranslator}% \clearname{translator}}% {\bibstring{editor}}}}}}% - {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% - {\bibstring{\thefield{editortype}s}}% - {\bibstring{\thefield{editortype}}}}% + {\ifbibxstring{\thefield{editortype}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% + {\bibstring{\thefield{editortype}s}}% + {\bibstring{\thefield{editortype}}}}% + {\printtext[note]{\thefield{editortype}}}}% \clearname{editor}} \newbibmacro*{parteditstrg}{% @@ -3614,13 +3915,15 @@ citation style] {\bibstring{editortranslator}% \clearname{nameb}}% {\bibstring{editor}}}}}}% - {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% - {\bibstring{\thefield{nameatype}s}}% - {\bibstring{\thefield{nameatype}}}}% + {\ifbibxstring{\thefield{nameatype}}% + {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% + {\bibstring{\thefield{nameatype}s}}% + {\bibstring{\thefield{nameatype}}}}% + {\printtext[note]{\thefield{nameatype}}}}% \clearname{namea}} \newbibmacro*{clearpublin}{% - \clearname{author}% + \clearname{author}\clearfield{shorthand}% \ifthenelse{\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR% \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}}% {}% @@ -3633,17 +3936,22 @@ citation style] \ifentrytype{collection}\OR\ifentrytype{reference}\OR% \ifentrytype{suppbook}\OR\ifentrytype{suppcollection}\)\OR% \(\(\ifentrytype{audio}\OR\ifentrytype{music}\OR% - \ifentrytype{video}\)\AND\iffieldundef{booktitle}\)}% + \ifentrytype{video}\)\AND\(\iffieldundef{booktitle}\AND% + \iffieldundef{entrysubtype}\)\)}% {}% {\clearfield{title}% \clearfield{subtitle}% \clearfield{titleaddon}% \clearfield{usere}% - \clearlist{language}}% + \clearlist{language}% + \ifentrytype{music}% + {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}% + \clearfield{eventmonth}}% + {}}% \ifentrytype{letter}% {\iftoggle{cms@switchdates}% - {\clearfield{year}\clearfield{month}}% - {\clearfield{origyear}\clearfield{origmonth}}% + {\clearfield{year}\clearfield{month}\clearfield{season}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% \clearfield{origlocation}}% {}% \clearfield{reprinttitle}% @@ -3713,6 +4021,9 @@ citation style] \renewbibmacro*{pageref}{}}% {\thefield{entrytype}}}} +\letbibmacro*{related:maintitlenc}{related:multivolume}% From N & B +\letbibmacro*{related:maintitle}{related:multivolume}% + \renewbibmacro*{related:multivolume}[1]{% \entrydata*{#1}{% \usebibmacro{at+every+item}% @@ -3757,6 +4068,11 @@ citation style] \newcunit}% \usebibmacro{date}}}% +\newbibmacro*{related:commenton}[1]{% 17th ed. + \togglefalse{cms@fulldate}% Let cloned entry set it + \entrydata*{#1}{% + \cmshypercite{\strfield{clonesourcekey}}}} + \providetoggle{cms@otherlang} \apptocmd\blx@opt@autolang@other% @@ -3787,9 +4103,6 @@ citation style] {\thefield{entrytype}}}} \newbibmacro*{at+every+item}{% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}% \ifboolexpr{% AD requires this here because cmsbibsortdate=null test {\iffieldundef{origyear}}% or diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common16.cbx new file mode 100644 index 00000000000..808388e32cf --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common16.cbx @@ -0,0 +1,3748 @@ +% This is a biblatex citation style file, adapted from Lehman's +% authoryear-comp.cbx. It is heavily modified, and contains the +% common code for providing inline citations (and a reference list) +% for the two author-date styles of the Chicago Manual of Style, 16th +% edition. + +\ProvidesFile{chicago-dates-common16.cbx}[2020/04/20 v 3.14 biblatex +citation style] + +%%%% Biblatex initialization + Chicago options + Toggles %%%% + +\newbool{cbx:parens} +\newbool{cms:bracket} +\newbool{cms:extraparens} +\newbool{cms:comma} + +\providecommand*{\mkibid}[1]{#1} + +\providetoggle{cms@inlineibid} +\providetoggle{cms@origlabel} +\providetoggle{cms@bothlabelold} +\providetoggle{cms@bothlabelnew} +\providetoggle{cms@fulldate} +\providetoggle{cms@reprint} +\providetoggle{cms@switchdates} +\providetoggle{cms@los} +\providetoggle{cms@avdate} +\providetoggle{cms@ordate} +\providetoggle{cms@nodates} +\providetoggle{cms@bc}% Attempt to provide correct dateera handling +\providetoggle{cms@alwaysrange}% Turns off decade and century handling +\providetoggle{cms@decaderange}% Only turns off decade handling +\providetoggle{cms@centuryrange}% Only turns off century handling +\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa +\providetoggle{cms@noyearbrackets}% +\providetoggle{cms@authorparens} +\providetoggle{cms@datedash} +\providetoggle{cms@modpostnote} +\providetoggle{cms@ukord} +\providetoggle{cms@fullnote}% For the legal entry types +\providetoggle{cms@shortnote}% Ditto + +\providetoggle{cms@url}% These are for the field-exclusion options +\providetoggle{cms@urltime}% 17th ed. +\providetoggle{cms@doi} +\providetoggle{cms@doionly} +\providetoggle{cms@eprint} +\providetoggle{cms@isbn} +\providetoggle{cms@numbermonth} +\providetoggle{cms@bookpages} +\providetoggle{cms@addendum} +\providetoggle{cms@hidevolumes}% Modify Volume fix +\providetoggle{cms@comprange} +\providetoggle{cms@compyears} + +\providetoggle{cms@jrcomma}% Comma after Jr./Sr. + +\providetoggle{cms@strict} +\providetoggle{cms@headlessnote}% Keep +\providetoggle{cms@noibid}% Keep +\providetoggle{cms@namedash} +\providetoggle{cms@usecompiler}% Keep +\providetoggle{cms@origpublished}% Keep +\providetoggle{cms@annotation}% Keep +\providetoggle{cms@postposit}% Keep +\providetoggle{cms@fullshhand}% +\providetoggle{cms@allshort}% For legal types +\providetoggle{cms@noneshort}% Ditto +\providetoggle{cms@legalnotes}% Ditto +\providetoggle{cms@supranotes}% Ditto +\providetoggle{cms@vol}% +\providetoggle{cms@crossref}% +\providetoggle{cms@bookcrossref} +\providetoggle{cms@gencite} +\providetoggle{cms@genallnames} +\providetoggle{cms@xrefurl} +\providetoggle{cms@related} +\providetoggle{cms@linkit} + +\AtEveryCitekey{% + \iffieldundef{userc}% + {}% + {\nocite{\thefield{userc}}}% + \global\csundef{@cmsst}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}}% + +\protected\def\cms@warning@noline#1{% + \begingroup + \blx@safe@actives + \PackageWarningNoLine{biblatex-chicago}{#1}% + \endgroup}% + +\DeclareBibliographyOption[string]{avdate}[true]{% + \ifcsdef{cms@opt@avdate@#1}% + {\csuse{cms@opt@avdate@#1}}% + {\blx@err@invopt{avdate=#1}{}}}% +\def\cms@opt@avdate@true{% + \DeclareLabeldate[music,review,standard,suppperiodical,video]% 17th ed. + {\field{eventdate} \field{origdate} \field{date} \field{year}% + \field{urldate} \literal{nodate}}% + \toggletrue{cms@avdate}}% +\def\cms@opt@avdate@false{% + \togglefalse{cms@avdate}}% + +\DeclareBibliographyOption[string]{cmsdate}[off]{% Implement origyear as + \ifcsdef{cms@global@cmsdate@#1}% labelyear. Sorting will be an issue. + {\csuse{cms@global@cmsdate@#1}}% + {\csuse{cms@global@cmsdate@off}\cms@warning@noline% + {'cmsdate=#1' isn't a valid option.\MessageBreak + The default - 'off' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@global@cmsdate@on{% + \toggletrue{cms@origlabel}% + \ExecuteBibliographyOptions{cmsorigdate=true}}% +\def\cms@global@cmsdate@new{% + \toggletrue{cms@bothlabelnew}% + \ExecuteBibliographyOptions{cmsorigdate=true}}% +\def\cms@global@cmsdate@old{% + \toggletrue{cms@bothlabelold}% + \ExecuteBibliographyOptions{cmsorigdate=true}}% +\def\cms@global@cmsdate@both{% + \toggletrue{cms@bothlabelold}% + \ExecuteBibliographyOptions{cmsorigdate=true}}% +\def\cms@global@cmsdate@full{}% +\def\cms@global@cmsdate@off{}% + +\DeclareBibliographyOption[string]{cmsorigdate}[true]{% ? Also need new macros + \ifcsdef{cms@opt@origdate@#1}% for printing dates. Worth it ? + {\csuse{cms@opt@origdate@#1}}% + {\blx@err@invopt{cmsorigdate=#1}{}}}% +\def\cms@opt@origdate@true{% + \DeclareLabeldate{\field{origdate} \field{origyear} \field{date}% + \field{year} \field{eventdate} \field{urldate}% + \literal{nodate}}% + \DeclareLabeldate[patent]{\field{date} \field{year}% + \field{eventdate} \field{origdate} \field{origyear}% + \field{urldate}}% + \global\toggletrue{cms@ordate}}% +\def\cms@opt@origdate@false{\togglefalse{cms@ordate}}% + +\DeclareEntryOption[string]{cmsdate}[off]{% Trying to implement origyear as + \ifcsdef{cms@opt@cmsdate@#1}% labelyear. Sorting will be an issue. + {\csuse{cms@opt@cmsdate@#1}}% + {\csuse{cms@opt@cmsdate@off}\cms@warning@noline% + {'cmsdate=#1' isn't a valid option.\MessageBreak + The default - 'off' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@cmsdate@on{% + \toggletrue{cms@origlabel}}% +\def\cms@opt@cmsdate@new{% + \toggletrue{cms@bothlabelnew}}% +\def\cms@opt@cmsdate@old{% + \toggletrue{cms@bothlabelold}}% +\def\cms@opt@cmsdate@both{% + \toggletrue{cms@bothlabelold}}% +\def\cms@opt@cmsdate@full{% + \toggletrue{cms@fulldate}}% +\def\cms@opt@cmsdate@off{}% + +\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{% + \settoggle{cms@alwaysrange}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{% + \settoggle{cms@decaderange}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{% + \settoggle{cms@centuryrange}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{% + \settoggle{cms@nodatebrackets}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{% + \settoggle{cms@noyearbrackets}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{% + \settoggle{cms@genallnames}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{hypertitle}[true]{% + \settoggle{cms@linkit}{#1}}% + +\DeclareBibliographyOption[boolean]{annotation}[true]{% + \global\settoggle{cms@annotation}{#1}}% + +\DeclareBibliographyOption[boolean]{dashed}[true]{% + \settoggle{cms@namedash}{#1}} + +\DeclareBibliographyOption[boolean]{short}[true]{% + \global\settoggle{cms@allshort}{#1}} + +\DeclareBiblatexOption{global,entry}[boolean]{noneshort}[true]{% + \settoggle{cms@noneshort}{#1}} + +\DeclareBibliographyOption[boolean]{legalnotes}[true]{% + \global\settoggle{cms@legalnotes}{#1}} + +\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{% + \settoggle{cms@supranotes}{#1}} + +\DeclareBibliographyOption[boolean]{cmslos}[true]{% + \global\settoggle{cms@los}{#1}}% + +\DeclareBibliographyOption[boolean]{noibid}[true]{% + \global\settoggle{cms@noibid}{#1}}% + +\DeclareBibliographyOption[boolean]{compresspages}[true]{% + \global\settoggle{cms@comprange}{#1}}% + +\DeclareBibliographyOption[boolean]{compressyears}[true]{% + \global\settoggle{cms@compyears}{#1}}% + +\DeclareBibliographyOption[string]{postnotepunct}[true]{% + \ifcsdef{cms@opt@ppunct@#1}% + {\csuse{cms@opt@ppunct@#1}}% + {\blx@err@invopt{postnotepunct=#1}{}}}% +\def\cms@opt@ppunct@true{% + \global\toggletrue{cms@modpostnote}}% +\def\cms@opt@ppunct@false{}% + +\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% + \settoggle{blx@usenamec}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{nodates}[true]{% + \settoggle{cms@nodates}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{% + \settoggle{cms@jrcomma}{#1}}% + +\DeclareBibliographyOption[boolean]{shorthandfull}[true]{% + \settoggle{cms@fullshhand}{#1}}% + +\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{% + \ifcsdef{cms@opt@lxref@#1}% + {\csuse{cms@opt@lxref@#1}}% + {\blx@err@invopt{longcrossref=#1}{}}}% +\def\cms@opt@lxref@none{% + \togglefalse{cms@crossref}% + \togglefalse{cms@bookcrossref}}% +\def\cms@opt@lxref@true{% + \toggletrue{cms@crossref}}% +\def\cms@opt@lxref@false{% + \togglefalse{cms@crossref}}% +\def\cms@opt@lxref@notes{% + \togglefalse{cms@crossref}}% +\def\cms@opt@lxref@bib{% + \toggletrue{cms@crossref}}% + +\DeclareBiblatexOption{global,entry}[boolean]{booklongxref}[true]{% + \ifcsdef{cms@opt@bklxref@#1}% + {\csuse{cms@opt@bklxref@#1}}% + {\blx@err@invopt{booklongxref=#1}{}}}% +\def\cms@opt@bklxref@true{% + \toggletrue{cms@bookcrossref}}% +\def\cms@opt@bklxref@false{% + \togglefalse{cms@bookcrossref}}% +\def\cms@opt@bklxref@notes{% + \togglefalse{cms@bookcrossref}}% +\def\cms@opt@bklxref@bib{% + \toggletrue{cms@bookcrossref}}% + +\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{% + \settoggle{cms@xrefurl}{#1}}% + +\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{% + \ifcsdef{cms@opt@jtabb@#1}% + {\csuse{cms@opt@jtabb@#1}}% + {\csuse{cms@opt@jtabb@false}\cms@warning@noline% + {'journalabbrev=#1' isn't a valid option.\MessageBreak + The default - 'false' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@jtabb@true{% + \toggletrue{cms@citejtabb}% + \toggletrue{cms@bibjtabb}}% +\def\cms@opt@jtabb@false{% + \togglefalse{cms@citejtabb}% + \togglefalse{cms@bibjtabb}}% +\def\cms@opt@jtabb@notes{% + \toggletrue{cms@citejtabb}% + \togglefalse{cms@bibjtabb}}% +\def\cms@opt@jtabb@bib{% + \togglefalse{cms@citejtabb}% + \toggletrue{cms@bibjtabb}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{% + \settoggle{cms@related}{#1}}% + +\DeclareBibliographyOption[boolean]{ordinalgb}[true]{% + \settoggle{cms@ukord}{#1}}% + +% Controlling punctuation before titleaddon fields % + +\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{% + \ifcsdef{cms@opt@ptao@#1}% + {\csuse{cms@opt@ptao@#1}}% + {\csuse{cms@opt@ptao@period}\cms@warning@noline% + {'ptitleaddon=#1' is not a valid option.\MessageBreak + The default - 'period' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@ptao@none{% + \let\ptitleaddonpunct\@empty}% +\def\cms@opt@ptao@comma{% + \def\ptitleaddonpunct{\addcomma\addspace}}% +\def\cms@opt@ptao@colon{% + \def\ptitleaddonpunct{\addcolon\addspace}}% +\def\cms@opt@ptao@space{% + \def\ptitleaddonpunct{\addspace}}% +\def\cms@opt@ptao@semicolon{% + \def\ptitleaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@ptao@period{% + \def\ptitleaddonpunct{\addperiod\addspace}}% + +\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{% + \ifcsdef{cms@opt@ctao@#1}% + {\csuse{cms@opt@ctao@#1}}% + {\csuse{cms@opt@ctao@comma}\cms@warning@noline% + {'ctitleaddon=#1' is not a valid option.\MessageBreak + The default - 'comma' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@ctao@none{% + \let\ctitleaddonpunct\@empty}% +\def\cms@opt@ctao@comma{% + \def\ctitleaddonpunct{\addcomma\addspace}}% +\def\cms@opt@ctao@colon{% + \def\ctitleaddonpunct{\addcolon\addspace}}% +\def\cms@opt@ctao@space{% + \def\ctitleaddonpunct{\addspace}}% +\def\cms@opt@ctao@semicolon{% + \def\ctitleaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@ctao@period{% + \def\ctitleaddonpunct{\addperiod\addspace}}% + +% The field-exclusion options % + +\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{% + \settoggle{cms@urltime}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{% + \settoggle{cms@isbn}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{% + \settoggle{cms@url}{#1}}% +\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{% + \ifcsdef{cms@opt@doi@#1}% + {\csuse{cms@opt@doi@#1}}% + {\blx@err@invopt{doi=#1}{}}}% +\def\cms@opt@doi@true{% + \toggletrue{cms@doi}}% +\def\cms@opt@doi@false{% + \togglefalse{cms@doi}}% +\def\cms@opt@doi@only{% + \toggletrue{cms@doionly}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% + \settoggle{cms@eprint}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{% + \settoggle{cms@numbermonth}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{% + \settoggle{cms@bookpages}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{% + \settoggle{cms@isbn}{#1}% + \settoggle{cms@url}{#1}% + \settoggle{cms@urltime}{#1}% 17th ed. + \settoggle{cms@doi}{#1}% + \settoggle{cms@eprint}{#1}% + \settoggle{cms@numbermonth}{#1}% + \settoggle{cms@bookpages}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{% + \settoggle{cms@hidevolumes}{#1}}% + +\DeclareEntryOption[boolean]{authortitle}[true]{% + \settoggle{cms@authortitle}{#1}}% + +\ExecuteBibliographyOptions{includeall,hidevolumes,booklongxref,related,% + ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes,% + dashed}% + +\iftoggle{cms@legalnotes}% +{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% +{}% + +\AtEndPreamble{% Automatic sorting by shorthand when it appears + \iftoggle{cms@los}% at the head of the entry. + {\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \step[fieldsource=shorthand] + \step[fieldset=sortname, origfieldval]}}}}% + {}} + +\DeclareLabeltitle[legislation]{% + \field{shorttitle}% + \field{titleaddon}% + \field{title}}% + +\DeclareDataInheritance{collection}{suppcollection}{% + \inherit{title}{title} + \inherit{subtitle}{subtitle} + \inherit{titleaddon}{titleaddon}} + +\DeclareDataInheritance{mvbook}{incollection}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{book}{incollection}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{book,collection}{letter}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{mvbook,mvcollection}{letter}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{*}{*}{% + \noinherit{namea} + \noinherit{nameb} + \noinherit{sortyear} + \noinherit{sortname} + \noinherit{sorttitle} + \noinherit{sorttitle} + \noinherit{urlyear} + \noinherit{urlmonth} + \noinherit{urlday} + \noinherit{urlseason} + \noinherit{urlhour} + \noinherit{urlminute} + \noinherit{doi} + \noinherit{eprint} + \noinherit{eprinttype} + \noinherit{url}} + +\DeclareDataInheritance{mvbook,mvcollection,mvproceedings,mvreference}% +{*}{% ??? + \noinherit{year} + \noinherit{month} + \noinherit{day} + \noinherit{season} + \noinherit{endyear} + \noinherit{endmonth} + \noinherit{endday} + \noinherit{endseason} + \noinherit{origyear} + \noinherit{origmonth} + \noinherit{origday} + \noinherit{origseason} + \noinherit{origendyear} + \noinherit{origendmonth} + \noinherit{origendday} + \noinherit{origendseason}} + +% More authordate options % + +\DeclareSortingTemplate{cms}{% Updated to >3.7 format + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{namea} + \field{editor} + \field{nameb} + \field{translator} + \field{namec} + \field{sorttitle} + \field{journaltitle} + \field{organization} + \field{title} + } + \sort{ + \field{sortyear} + \field{labelyear} + \field{year} + \field{origyear} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{endyear} + \field{eventendyear} + \field{origendyear} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume} + \literal{0000} + } +} + +\DeclareSortExclusion{misc,online}{organization} +\DeclareSortExclusion{inreference,mvreference,reference}{% + author,editor,namea,nameb,namec,translator} + +\DeclareSortingTemplate{shortjournal}{% + \sort{ + \field{shortjournal} + } +} + +\DeclareLabelname{\field{shortauthor} \field{author}% + \field{shorteditor} \field{namea} \field{editor}% + \field{nameb} \field{translator} \field{namec}}% + +\DeclareEntryOption[boolean]{switchdates}[true]{% + \settoggle{cms@switchdates}{#1}}% + +\DeclareBibliographyOption[boolean]{strict}[true]{% + \settoggle{cms@strict}{#1}% + \iftoggle{cms@strict}% + {\let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0}% + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }}% + {}}% + +\protected\def\blx@newcunit{% + \iftoggle{blx@keepunit}% + {}% + {\global\let\blx@unitpunct\newcunitpunct + \global\toggletrue{blx@unit}}}% + +\appto\blx@blxinit{% + \let\newcunit\blx@newcunit}% + +\newcommand*{\newcunitpunct}{\addcomma\space} + +\def\mkbibcurdinal#1{% + \@tempcnta0#1 \the\@tempcnta}% + +\@ifpackagelater{biblatex}{2011/01/04}% +{}% +{\PackageError{biblatex}% + {Outdated 'biblatex' package}% + {The Chicago style requires biblatex v1.1 or later.\MessageBreak + You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak + This is a fatal error. I'm aborting now.}% + \endinput}% + +% American-specific punctuation change for 16th edition % + +\DefineBibliographyExtras{american}{% + \DeclarePunctuationPairs{comma}{*!?}} + +%%%% Macros from authoryear-comp.cbx, revised for CMS %%%% + +\newbibmacro*{cite:init}{% + \ifnumless{\value{multicitecount}}{2}% + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash% + \global\undef\cbx@lastyear}% + {\iffieldundef{prenote}% + {}% + {\global\undef\cbx@lasthash% + \global\undef\cbx@lastyear}}}% + +\newbibmacro*{cite:reinit}{% + \global\undef\cbx@lasthash% + \global\undef\cbx@lastyear}% + +\newbibmacro*{backref+check}{% + \ifbibliography% + {\backtrackerfalse}% + {}} + +\newbibmacro*{cite}{% + \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}}% + {\iffieldequalstr{entrysubtype}{classical}% Similar to notes+bib + {\iffieldundef{shorthand}% + {\ifthenelse{\ifnameundef{labelname}\OR + \ifentrytype{inreference}\OR + \ifentrytype{reference}\OR + \ifentrytype{mvreference}}% Simplified for CMS + {\usebibmacro{cite:label}% + \setunit{\cms@testspace}% + \usebibmacro{cite:reinit}}% + {\iffieldequals{fullhash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\multicitedelim}}% + {}% + \usebibmacro{cite:label}}% + {\iffieldequals{fullhash}{\cbx@lastyear}% + {}% + {\usebibmacro{cmsbracketname}% For names in [] + \ifentrytype{customc}% + {\newcunit}% + {\setunit{\cms@testspace}}}% + \usebibmacro{cite:label}% + \iffieldundef{postnote}% + {\savefield{fullhash}{\cbx@lasthash}}% + {\savefield{fullhash}{\cbx@lastyear}}}}}% + {\usebibmacro{cite:shorthand+title}}}% + {\iffieldundef{shorthand}% + {\ifthenelse{\ifnameundef{labelname}\OR + \ifentrytype{inreference}\OR + \ifentrytype{reference}\OR + \ifentrytype{mvreference}}% Simplified for CMS + {\usebibmacro{cite:label}% + \setunit{\nameyeardelim}% + \usebibmacro{cmscitesortdate}% + \usebibmacro{cite:reinit}}% + {\iffieldequals{fullhash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cmscitesortdate}}% + {\iffieldequals{fullhash}{\cbx@lastyear}% Is this right? + {}% + {\usebibmacro{cmsbracketname}% + \setunit{\nameyeardelim}}% + \usebibmacro{cmscitesortdate}% + \iffieldundef{postnote}% + {\savefield{fullhash}{\cbx@lasthash}}% + {\savefield{fullhash}{\cbx@lastyear}}}}}% + {\usebibmacro{cite:shorthand}}}}% + \setunit{\multicitedelim}}% ??? + +\newbibmacro*{cmsbracketname}{% + \iffieldequalstr{authortype}{anon}% + {\printtext{\bibleftbracket\printnames{labelname}% + \bibrightbracket}}% + {\iffieldequalstr{authortype}{anon?}% + {\printtext{\bibleftbracket\printnames{labelname}?% + \bibrightbracket}}% + {\printnames{labelname}}}}% + +\newbibmacro*{citeyear}{% + \iffieldequalstr{entrysubtype}{classical}% + {\iffieldundef{shorthand}% + {\usebibmacro{citeyear:noshort}}% + {\iftoggle{cms@los}% + {\usebibmacro{citeyear:noshort}}% + {\usebibmacro{cite:shorthand+title}}}}% + {\iffieldundef{shorthand}% + {\usebibmacro{citeyear:noshort}}% + {\iftoggle{cms@los}% + {\usebibmacro{citeyear:noshort}}% + {\usebibmacro{cite:shorthand}}}}% + \setunit{\multicitedelim}}% + +\newbibmacro*{citeyear:noshort}{% + \iffieldequalstr{entrysubtype}{classical}% Altered for CMS + {\iffieldequals{fullhash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cite:label}}% + {\usebibmacro{cite:label}% + \iffieldundef{postnote}% + {\savefield{fullhash}{\cbx@lasthash}}% + {}}}% + {\iffieldequals{fullhash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cmscitesortdate}}% + {\usebibmacro{cmscitesortdate}% + \iffieldundef{postnote}% + {\savefield{fullhash}{\cbx@lasthash}}% + {}}}}% + +\newbibmacro*{textcite}{% + \iftoggle{cms@los}% + {\usebibmacro{textcite:authshort}}% + {\usebibmacro{textcite:citeshort}}}% + +\newbibmacro*{textcite:authshort}{% + \iffieldequals{fullhash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\iffieldequals{fullhash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\iffieldequalstr{entrysubtype}{classical}% + {\setunit{\multicitedelim}}% + {\setunit{\compcitedelim}}}}% + {\setunit{\multicitedelim}}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}}% + {\iffieldundef{shorthand}% + {\ifthenelse{\ifnameundef{labelname}\OR + \ifentrytype{inreference}\OR + \ifentrytype{reference}\OR + \ifentrytype{mvreference}}% + {\iffieldequalstr{entrysubtype}{classical}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:label}}% + {\usebibmacro{cite:label}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}% + \setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cmscitesortdate}}}% + {\printnames{labelname}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}% + \setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}% + \savefield{fullhash}{\cbx@lasthash}}}% + {\printfield{shorthand}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}% + \setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}% + \savefield{fullhash}{\cbx@lasthash}}% + \stepcounter{textcitecount}}% Added ??? + \setunit{% + \ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}% + \textcitedelim}}% Not \multicitedelim ??? + +\newbibmacro*{textcite:citeshort}{% + \iffieldequals{fullhash}{\cbx@lasthash}% + {\iffieldundef{shorthand}% + {\iffieldundef{postnote}% + {\iffieldequals{fullhash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\iffieldequalstr{entrysubtype}{classical}% + {\setunit{\multicitedelim}}% + {\setunit{\compcitedelim}}}}% + {\setunit{\multicitedelim}}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}}% + {\iffieldundef{postnote}% + {\iffieldequals{fullhash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\setunit{\compcitedelim}}}% + {\setunit{\multicitedelim}}% + \printtext[bibhyperref]{% + \printfield{shorthand}}}}% + {\ifthenelse{\ifnameundef{labelname}\OR + \ifentrytype{inreference}\OR + \ifentrytype{reference}\OR + \ifentrytype{mvreference}}% + {\iffieldundef{shorthand}% + {\iffieldequalstr{entrysubtype}{classical}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:label}}% + {\usebibmacro{cite:label}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}% + \setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cmscitesortdate}}}% + {\printtext[bibhyperref]{% + \printfield{shorthand}}}}% + {\printnames{labelname}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}% + \setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \iffieldundef{shorthand}% + {\iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}}% + {\printtext[bibhyperref]{% + \printfield{shorthand}}}% + \savefield{fullhash}{\cbx@lasthash}}% + \stepcounter{textcitecount}}% Added ??? + \setunit{% + \ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}% + \textcitedelim}}% Not \multicitedelim ??? + +\newbibmacro*{textcite:postnote}{% + \iffieldundef{postnote}% + {}% + {\savefield{fullhash}{\cbx@lastyear}% + \setunit{\postnotewrapper}%delim}% + \printfield{postnote}}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}}% + {\setunit{}% + \printtext{% + \ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}}}% + {\setunit{% + \ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}% + \textcitedelim}}}% Not \multicitedelim ??? + +\newbibmacro*{cite:shorthand}{% + \iftoggle{cms@los}% + {\iffieldequals{fullhash}{\cbx@lasthash}% + {\printtext[cmshyper]{% + \setunit{\compcitedelim}% + \usebibmacro{cmscitesortdate}}}% + {\printfield{shorthand}% + \printtext[cmshyper]{% + \setunit{\nameyeardelim}% + \usebibmacro{cmscitesortdate}}% + \savefield{fullhash}{\cbx@lasthash}}}% + {\printtext[bibhyperref]{\printfield{shorthand}}% + \usebibmacro{cite:reinit}}}% + +\newbibmacro*{cite:shorthand+title}{% + \iftoggle{cms@los}% + {\iffieldequals{fullhash}{\cbx@lasthash}% + {\printtext[cmshyper]{% + \setunit{\multicitedelim}% + \usebibmacro{cite:label}}}% + {\printfield{shorthand}% + \printtext[cmshyper]{% + \setunit{\addcomma\addspace}% FIXME: wrong in 16th _and_ 17th eds? + \ifentrytype{manual}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% + {\usebibmacro{cite:label}}}% + \savefield{fullhash}{\cbx@lasthash}}}% + {\printtext[bibhyperref]{\printfield{shorthand}}% + \usebibmacro{cite:reinit}}}% + +\newbibmacro*{cite:label}{% Test this + \iffieldundef{label}% + {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \ifentrytype{periodical}}% Simplifies .bib creation + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\printtext[cmshyper]{\printfield[shortjournal]{shortjournal}}}% + {\printtext[cmshyper]{\printfield[journaltitle]{journaltitle}}}}% + {\ifentrytype{manual}% + {\printtext[cmshyper]{\printlist{organization}}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}% + {\printtext[cmshyper]{\printfield{label}}}}% + +\newbibmacro*{cite:labelyear+extrayear}{% + \ifboolexpr{ ( + test {\ifentrytype{music}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + test {\ifentrytype{video}}% + ) + and + togl {cms@avdate}% + }% + {\usebibmacro{cite:av+labelyear+extrayear}}% + {\iftoggle{cms@ordate}% + {\usebibmacro{cite:origfirst+labelyear+extrayear}}% + {\usebibmacro{cite:standard+labelyear+extrayear}}}}% + +\newbibmacro*{cite:standard+labelyear+extrayear}{% + \ifthenelse{\iffieldundef{labelyear}\OR% + \iffieldequalstr{labelyear}{nodate}}% + {\ifboolexpr{% + test {\ifentrytype{misc}}% + or + test {\ifentrytype{inreference}}% + or + test {\ifentrytype{reference}}% + or + test {\ifentrytype{mvreference}}% + or + not togl {cms@nodates}% + }% + {}% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\printtext[cmsyearhyper]{% + \iffieldundef{year}% + {\iffieldundef{eventyear}% + {\iffieldundef{origyear}% + {\printurldateextra}% + {\printorigdateextra}}% + {\printeventdateextra}}% + {\printdateextra}}}}% + +\newbibmacro*{cite:origfirst+labelyear+extrayear}{% + \ifthenelse{\iffieldundef{labelyear}\OR% + \iffieldequalstr{labelyear}{nodate}}% + {\ifboolexpr{% + test {\ifentrytype{misc}}% + or + test {\ifentrytype{inreference}}% + or + test {\ifentrytype{reference}}% + or + test {\ifentrytype{mvreference}}% + or + not togl {cms@nodates}% + }% + {}% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\printtext[cmsyearhyper]{% + \iffieldundef{origyear}% + {\iffieldundef{year}% + {\iffieldundef{eventyear}% + {\printurldateextra}% + {\printeventdateextra}}% + {\printdateextra}}% + {\printorigdateextra}}}}% + +\newbibmacro*{cite:av+labelyear+extrayear}{% + \ifthenelse{\iffieldundef{labelyear}\OR% + \iffieldequalstr{labelyear}{nodate}}% + {\ifboolexpr{% + test {\ifentrytype{misc}}% + or + test {\ifentrytype{inreference}}% + or + test {\ifentrytype{reference}}% + or + test {\ifentrytype{mvreference}}% + or + not togl {cms@nodates}% + }% + {}% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\printtext[cmsyearhyper]{% + \iffieldundef{eventyear}% + {\iffieldundef{origyear}% + {\iffieldundef{year}% + {\printurldateextra}% + {\printdateextra}}% + {\printorigdateextra}}% + {\printeventdateextra}}}}% + +\newbibmacro*{cmscitesortdate}{% Attempt to solve date-related problems + \ifboolexpr{% + test {\iffieldundef{origyear}}% + or + not test {\iffieldint{origyear}}% + }% + {\usebibmacro{cmsciteyear}}% + {\iffieldint{year}% + {\ifboolexpr{% Needed for date ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}% + \usebibmacro{cmsciteyear}}% + {\usebibmacro{cmsciteyear}}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}% + \usebibmacro{cmsciteyear}}% + {\usebibmacro{cmsciteyear}}}}% + {\usebibmacro{cmsciteyear}}}}% + +\newbibmacro*{cmsciteyear}{% + \ifentrytype{patent}% Fix for double year w/cmsdate + {\usebibmacro{cite:standard+labelyear+extrayear}} + {\iftoggle{cms@origlabel}% + {\usebibmacro{cite:origyear+labelyear}}% + {\iftoggle{cms@bothlabelnew}% + {\usebibmacro{cite:bothyear+oldstyle}}% + {\iftoggle{cms@bothlabelold}% + {\usebibmacro{cite:bothyear+oldstyle}}% + {\iftoggle{cms@fulldate}% + {\printtext[cmsyearhyper]{% + \csuse{print\strfield{labeldatesource}date}% + \iffieldundef{\strfield{labeldatesource}hour}% + {}% Consistency(?) + {\newcunit\csuse{print\strfield{labeldatesource}time}}}}% + {\usebibmacro{cite:labelyear+extrayear}}}}}}}% + % \ifcsdef{@cms@tempdate}% + % {\toggletrue{\@cms@tempdate}}% + % {}% + +\newbibmacro*{cite:origyear+labelyear}{% + \ifboolexpr{ ( + test {\ifentrytype{music}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + test {\ifentrytype{video}}% + ) + and + togl {cms@avdate}% + }% + {\usebibmacro{cite:av+labelyear+extrayear}}% + {\iftoggle{cms@switchdates}% + {\usebibmacro{cite:labelyear+extrayear}}% + {\iffieldundef{origyear}% + {\iftoggle{cms@ordate}% ??? + {}% + {\clearfield{extradate}}% + \usebibmacro{cite:standard+labelyear+extrayear}}% + {\iftoggle{cms@ordate}% + {\usebibmacro{cite:origfirst+labelyear+extrayear}}% + {\clearfield{extradate}% + \printtext[cmsyearhyper]{% + \printorigdateextra}}}}}}% \usebibmacro{origyear+endyear} + +\newbibmacro*{cite:bothyear+oldstyle}{% + \ifboolexpr{ ( + test {\ifentrytype{music}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + test {\ifentrytype{video}}% + ) + and + togl {cms@avdate}% + }% + {\usebibmacro{cite:av+labelyear+extrayear}}% + {\iftoggle{cms@switchdates}% + {\printtext[cmsyearhyper]{% + \bibopenparen% + \usebibmacro{cite:labelyear+extrayear}% + \bibcloseparen% + \clearfield{extradate}% + \addspace% + \printorigdateextra}}% \usebibmacro{origyear+endyear} + {\iffieldundef{origyear}% ??? + {\iftoggle{cms@ordate}% + {}% + {\clearfield{extradate}}% + \usebibmacro{cite:standard+labelyear+extrayear}}% + {\iftoggle{cms@ordate}% Added test for year field ??? + {\iffieldundef{year}% + {\usebibmacro{cite:origfirst+labelyear+extrayear}}% + {\printtext[cmsyearhyper]{% + \bibopenparen% + \usebibmacro{cite:origfirst+labelyear+extrayear}% + \bibcloseparen% + \setunit{\addspace}%\addspace% ??? + \clearfield{extradate}% + \printdateextra}}}%\usebibmacro{year+endyear} + {\iffieldundef{year}% + {\usebibmacro{cite:origfirst+labelyear+extrayear}}% + {\printtext[cmsyearhyper]{% + \bibopenparen% + \clearfield{extradate}% + \printorigdateextra% + % \usebibmacro{origyear+endyear}% + \bibcloseparen% + \addspace% + \usebibmacro{cite:standard+labelyear+extrayear}}}}}}}}% + +\newbibmacro*{cite:save}{% + \savefield{entrykey}{\cbx@lastkey}}% + +\newbibmacro*{cite:ibid}{% + \iftoggle{cms@noibid}% + {\blx@ibidreset% + \usebibmacro{cite}}% + {\ifthenelse{\iffieldundef{prenote}\AND% + \iffieldundef{postnote}}% + {\blx@ibidreset% + \usebibmacro{cite}% + \PackageWarning{biblatex-chicago}% + {Empty Ibidem citation}}% + {\toggletrue{cms@inlineibid}}}}% + +%%%% Citation Commands, internal and external %%%% + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}}% + {}%\setunit{\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {}%\setunit{\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}% + {\usebibmacro{postnote}} + +%%% Commands, macros and formats for the Legal entry types %%% + +\DeclareCiteCommand{\footfullcite}[\mkbibfootnote] + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{cite:full}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:save}} + {\multicitedelim} + {} + +\DeclareCiteCommand{\fullcite} + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{cite:full}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:save}} + {\multicitedelim} + {} + +\DeclareCiteCommand{\parenfullcite}[\mkbibparens] + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{cite:full}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:save}} + {\multicitedelim} + {} + +\newbibmacro*{cite:full}{% + \iftoggle{cms@noneshort}% + {\ifboolexpr{% + test {\ifciteibid}% + and + not test {\iffirstonpage}% + and + not togl {cms@noibid}% + }% + {\togglefalse{cms@fullnote}% + \toggletrue{cms@shortnote}% + \usebibmacro{legal:ibid}}% + {\usebibmacro{cite:driver}}}% + {\ifboolexpr{% + test {\ifciteseen}% + or + togl {cms@allshort}% + }% + {\togglefalse{cms@fullnote}% + \toggletrue{cms@shortnote}% + \ifboolexpr{% + test {\ifciteibid}% + and + not test {\iffirstonpage}% + and + not togl {cms@noibid}% + }% + {\usebibmacro{legal:ibid}}% + {\usebibmacro{cite:short}}}% + {\usebibmacro{cite:driver}}}} + +\newbibmacro*{cite:driver}{% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\frenchspacing}% + {\thefield{entrytype}}}}% + +\newbibmacro*{cite:short}{% + \iffieldundef{shorthand}% + {\ifentrytype{jurisdiction}% + {\usebibmacro{cite:short:jurisdiction}}% + {\ifentrytype{legal}% + {\usebibmacro{cite:short:legal}}% + {\ifentrytype{legislation}% + {\usebibmacro{cite:short:legislation}}% + {\usebibmacro{cite}}}}} + {\usebibmacro{cite:shorthand:legal}}}% + +\newbibmacro*{cite:short:jurisdiction}{% + \iffieldundef{labeltitle}% + {}% + {\ifboolexpr{% + togl {cms@allshort}% + or + test {\ifbibliography}% + }% + {\printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}}% + {\printtext[cmshyperlink]{% + \printfield[citetitle]{labeltitle}}}}% + \newcunit% Fixme: giving us a duplicate comma + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% Test eliminates spurious comma + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \usebibmacro{juridpostnote}}% + +\newbibmacro*{cite:short:legal}{% + \iffieldundef{labeltitle}% + {}% + {\ifboolexpr{% + togl {cms@allshort}% + or + test {\ifbibliography}% + }% + {\printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}}% + {\printtext[cmshyperlink]{% + \printfield[citetitle]{labeltitle}}}}% + \newcunit% Fixme: giving us a duplicate comma + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% Test eliminates spurious comma + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \printfield[legalser]{series}% + \setunit{\addspace}% + \printfield{issue}% + \ifboolexpr{% + togl {cms@supranotes}% + and + test {\iffootnote}% + }% + {\newcunit% + \printtext{\bibstring{supranote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}% ?? + {}% + \usebibmacro{juridpostnote}}% + +\newbibmacro*{cite:short:legislation}{% + \iffieldequalstr{entrysubtype}{constitution}% + {\usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}}% + {\iffieldequalstr{labeltitlesource}{shorttitle}% + {\ifboolexpr{% + togl {cms@allshort}% + or + test {\ifbibliography}% + }% + {\printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}}% + {\printtext[cmshyperlink]{% + \printfield[citetitle]{labeltitle}}}}% + {\ifboolexpr{% + test {\iffieldundef{shortjournal}}% + or + ( + not test {\iffieldundef{volume}}% + and + not test {\iffieldint{volume}}% + ) + }% + {\ifboolexpr{% + test {\iffieldundef{entrysubtype}}% + and + not test {\iflistundef{location}} + }% + {\printlist{location}% + \setunit{\addspace}}% + {}% + \ifboolexpr{% + togl {cms@allshort}% + or + test {\ifbibliography}% + }% + {\printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}}% + {\printtext[cmshyperlink]{% + \printfield[citetitle]{labeltitle}}}% + \setunit{\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}}% + {\printfield{note}% + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% Test eliminates spurious comma + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \printfield[legislationser]{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + }}}% + \newcunit% + \ifboolexpr{% + togl {cms@supranotes}% + and + test {\iffootnote}% + and + ( + test {\iffieldequalstr{entrysubtype}{un}}% + or + test {\iffieldequalstr{entrysubtype}{hearing}}% + ) + }% + {\newcunit% + \printtext{\bibstring{supranote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}% ?? + {}% + \usebibmacro{juridpostnote}}% + +\newbibmacro*{cite:shorthand:legal}{% + \iftoggle{cms@allshort}% + {\printtext[bibhyperref]{% + \printfield{shorthand}}}% + {\printtext[cmshyperlink]{% + \printfield{shorthand}}}% + \ifboolexpr{% + test {\iffootnote}% + and + togl {cms@supranotes}% + and + ( + test {\ifentrytype{legal}}% + or + ( + test {\ifentrytype{legislation}}% + and + ( + test {\iffieldequalstr{entrysubtype}{un}}% + or + test {\iffieldequalstr{entrysubtype}{hearing}}% + ))) + }% + {\newcunit% + \printtext{\bibstring{supranote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit}}% ?? + {\newcunit}% ?? + \iffieldundef{postnote}% + {\global\togglefalse{cms@fullnote}% + \global\togglefalse{cms@shortnote}}% + {\usebibmacro{semel:postnote}% + \global\togglefalse{cms@fullnote}% + \global\togglefalse{cms@shortnote}}}% + +\newbibmacro*{cms:shorthandintro}{% For changing the citedas phrase + \iffieldundef{shorthand}% + {}% + {\iffieldundef{shorthandintro}% + {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% + \ifentrytype{legislation}}% + {\printtext[brackets]{% + \bibstring{hereinafter}\addspace% + \printfield{shorthand}}}% + {\printtext[parens]{% + \bibstring{citedas}\addspace% + \printfield{shorthand}}}}% + {%\addspace%\setunit{\addspace}% Ditto + \printfield{shorthandintro}}}} + +\newbibmacro*{footcite:save}{% + \ifboolexpr{% + test {\iffootnote}% + and + ( + test {\ifentrytype{legal}}% + or + ( + test {\ifentrytype{legislation}}% + and + ( + test {\iffieldequalstr{entrysubtype}{un}}% + or + test {\iffieldequalstr{entrysubtype}{hearing}}% + ))) + }% + {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}% + \label{cbx@\the\value{instcount}}}% + {}}% + +\newbibmacro*{legal:ibid}{% + \ifboolexpr{% + togl {cms@noibid}% + or + test {\ifbibliography}% Needed for inheritshorthand option + }% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short}% + \usebibmacro{cite:save}}% + {\printtext[bibhyperlink]{% + \bibsstring[\mkbibemph]{ibidem}}%\bibstring[\mkibid]{ibidem} + \ifboolexpr{% + test {\ifloccit}% + or + ( + test {\ifciteibid}% + and + test {\iffieldequalcs{postnote}{cms@pnsaved}}% + and + not test {\ifdefvoid{\blx@loccittracker}}% Package option=false + ) + }% + {\global\toggletrue{cms@loccit}}% + {}}\usebibmacro{postnote}}% FIXME? + +\newbibmacro*{clegis+news+title}{% + \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}\AND% + \iffieldundef{titleaddon}}% + {}% + {\printtext[title]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + }}%\newcunit\newblock} + +\newbibmacro*{cpart+editor+translator}{% + \ifnameundef{namea}% + {\ifnameundef{nameb}% + {}% + {\bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}}}% + {\ifthenelse{\iffieldundef{nameatype}\OR% + \iffieldequalstr{nameatype}{editor}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{cbyeditortr}\addspace% + \printnames[byeditor]{namea}}% + {\bibstring{cbyeditor}\addspace% Need this \space here? + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newcunit% + \bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}% + {\usebibmacro{cbytypestrg}{namea}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newunit% + \bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}} + +\newbibmacro*{juridpostnote}{% + \iftoggle{cms@fullnote}% + {\iffieldundef{issue}% + {\iffieldundef{shortjournal}% + {\setunit{\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}% + {\setunit{\addspace}}% + {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}% + \printfield{pages}% + \iffieldundef{postnote}% + {}% + {\ifthenelse{\ifentrytype{legislation}\OR\ifentrytype{legal}}% + {\newcunit}% + {\setunit*{\addcomma\addspace}}% + \usebibmacro{semel:postnote}}}% + {\iffieldundef{postnote}% + {\iffieldundef{pages}% + {}% + {\newcunit% + \printfield{pages}}}% + {\newcunit% + \usebibmacro{semel:postnote}}}}% + {\iffieldundef{issue}% + {\iffieldundef{postnote}% + {\iffieldundef{pages}% + {}% + {\iffieldundef{shortjournal}% + {\setunit{\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}% + {\setunit{\addspace}}% + {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}% + \printfield{pages}}}% + {\iffieldundef{shortjournal}% + {\setunit{\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}% + {\setunit{\addspace}}% + {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}% + \usebibmacro{semel:postnote}}}% See below for alternate test here + {\iffieldundef{postnote}% + {\iffieldundef{pages}% + {}% + {\newcunit% + \printfield{pages}}}% + {\newcunit% + \usebibmacro{semel:postnote}}}% + \global\togglefalse{cms@fullnote}% + \global\togglefalse{cms@shortnote}}}% + +\newbibmacro*{semel:postnote}{% Fix to print postnote only once + \printfield{postnote}% Old form broke \ifloccit + \global\let\cms@pnsaved\abx@field@postnote% + \global\let\abx@field@postnote\undefined% + \AtNextCitekey{\ifciteibid{}{\global\let\cms@pnsaved\undefined}}}% + +\newbibmacro*{cite+doi+url}{% 16th ed. + \ifboolexpr{% + togl {cms@url}% + and + not test {\iffieldundef{urlyear}}% + }% + {\printurldate}% Date fix + {}% + \newcunit\newblock + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \clearfield{url}}}% + {\ifboolexpr{% + togl {cms@doi}% + and + not test {\iffieldundef{doi}}% + }% + {\printfield{doi}}% + {}}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@eprint}% + and + not test {\iffieldundef{eprint}}% + }% + {\usebibmacro{eprint}}% + {}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@url}% + and + not test {\iffieldundef{url}}% + }% + {\printfield{url}}% + {}}% + +\DeclareListFormat[jurisdiction]{location}{% + \iffieldundef{entrysubtype}% + {\usebibmacro{list:delim}{#1}% + #1\isdot% + \usebibmacro{list:andothers}}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\mkbibparens{#1}\addspace}% + {\mkbibparens{#1\isdot}}}}% + +\DeclareListFormat[jurisdiction]{origlocation}{% + \ifthenelse{\value{listcount}<\value{listtotal}}% + {#1\isdot\addcomma\addspace}% + {#1\isdot}} + +\DeclareListFormat[jurisdiction]{origpublisher}{% + \ifthenelse{\value{listcount}<\value{listtotal}}% + {\mkbibparens{#1}\addspace}% + {\mkbibparens{#1\isdot}}} + +\newrobustcmd*{\mkjuridprefix}[1]{% + \ifboolexpr{% FIXME: Is this always right? + test {\iftoggle{cms@fullnote}}% + and + test {\ifentrytype{jurisdiction}}% + }% + {\iffieldundef{issue}% + {#1}% + {\printtext{at}\addspace *#1}}% + {\iffieldundef{issue}% + {\printtext{at}\addspace #1}% FIXME: Make it a bibstring? + {\ifentrytype{jurisdiction}% + {\printtext{at}\addspace *#1}% + {\printtext{at}\addspace #1}}}}% + +\DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{pagination}% + {\mkcomprange[\mkjuridprefix]{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {\mkjuridprefix{#1}}% + {\mkpageprefix[pagination]{#1}}}}% + +\DeclareFieldFormat[jurisdiction,legal]{title}{#1\isdot} + +\DeclareFieldFormat[legislation]{title}{% + \iffieldequalstr{entrysubtype}{hearing}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[jurisdiction]{citetitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[jurisdiction,legal]{lostitle}{#1\isdot} + +\DeclareFieldFormat[legislation]{lostitle}{% + \iffieldequalstr{entrysubtype}{hearing}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[legal]{citetitle}{#1\isdot} + +\DeclareFieldFormat[legislation]{citetitle}{% + \iffieldequalstr{entrysubtype}{hearing}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[jurisdiction,legal,legislation]{journaltitle}{% + \iffieldundef{shortjournal}% + {#1\isdot}% + {\mkbibemph{#1}\isdot}} + +\DeclareFieldFormat[jurisdiction,legal,legislation]{shortjournal}{#1\isdot} + +\DeclareFieldFormat{jurisdictionser}{% + \ifinteger{#1}% + {\mkjuridordinal{#1}}% + {\ifbibstring{#1}{\bibstring{#1}}{#1}}}% + +\DeclareFieldFormat{legislationser}{% + \iffieldequalstr{entrysubtype}{hansard}% + {\ifinteger{#1}% + {\addspace\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}% + {\ifbibstring{#1}% + {\addspace\mkbibparens{\bibstring{#1}}}% + {\addspace\mkbibparens{#1}}}}% + {\iffieldequalstr{entrysubtype}{uk}% + {\addspace #1\isdot}% + {\addcomma\addspace #1\isdot}}}% + +\DeclareFieldFormat{legalser}{\addspace #1\isdot}% + +\DeclareFieldFormat{hansardser}{% + \ifinteger{#1}% + {\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}% + {\ifbibstring{#1}{\mkbibparens{\bibstring{#1}}}{\mkbibparens{#1}}}}% + +\DeclareFieldFormat{juridnum}{\bibcpstring{number}\addspace #1}% + +\DeclareFieldFormat{jourvol}{#1} + +\DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{% + \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}} + +\DeclareFieldFormat[legal,legislation]{part}{% + \ifnumerals{#1}% + {\bibsstring{part}~#1}% + {#1\isdot}}% + +\DeclareFieldFormat[legal,legislation]{chapter}{% + \ifthenelse{\iffieldequalstr{entrysubtype}{uk}\OR% + \iffieldequalstr{entrysubtype}{hansard}}% + {c\adddotspace #1}% + {\bibsstring{chapter}~#1}}% + +%%% Textcite commands taken verbatim from authoryear-comp.cbx %%% + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {}% + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}% + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}}% + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{fullhash}{\cbx@lasthash}% + {}% + {\stepcounter{textcitetotal}% + \savefield{fullhash}{\cbx@lasthash}}} + {}% + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +%%% The \gentextcite commands - \textcite in the genitive case %%% + +\DeclareCiteCommand{\cms@gentextcite@i} + {\usebibmacro{cite:init}% + \toggletrue{cms@gencite}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {}% + {\usebibmacro{textcite:postnote}% + \togglefalse{cms@gencite}}% + +\DeclareCiteCommand{\cms@gentextcite}[\cbx@textcite@init\cms@gentextcite@i] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}% + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}}% + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{fullhash}{\cbx@lasthash}% + {}% + {\stepcounter{textcitetotal}% + \savefield{fullhash}{\cbx@lasthash}}} + {}% + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +\DeclareMultiCiteCommand{\cms@gentextcite@is}{\cms@gentextcite@i}{} +\DeclareMultiCiteCommand{\cms@gentextcites}[\cbx@textcites@init\cms@gentextcite@is]{\cms@gentextcite}{} + +\newrobustcmd*{\gentextcite}[1][]{% + \@ifnextchar[%] + {\gencite@i[#1]}% + {\gencite@i[][#1]}}% + +\def\gencite@i[#1][#2]{% + \@ifnextchar[%] + {\gencite@ii[#1][#2]}% + {\gencite@ii[][#1][#2]}}% + +\def\gencite@ii[#1][#2][#3]#4{% + \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}% + \gencite@iii[#2][#3]{#4}}% + +\def\gencite@iii#1{\cms@gentextcite#1} + +\newrobustcmd*{\gentextcites}[1][]{% + \@ifnextchar(%) + {\gencites@iv[#1]}% + {\@ifnextchar[%] + {\gencites@i[#1]}% + {\gencites@i[][#1]}}}% + +\def\gencites@i[#1][#2]{% + \@ifnextchar[%] + {\gencites@ii[#1][#2]}% + {\gencites@ii[][#1][#2]}}% + +\def\gencites@ii[#1][#2][#3]#4{% + \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}% + \gencites@iii[#2][#3]{#4}}% + +\def\gencites@iii#1{\cms@gentextcites#1}% + +\def\gencites@iv[#1]#2{% + \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}% + \cms@gentextcites#2}% + +\newrobustcmd*{\Gentextcite}{\bibsentence\gentextcite} +\newrobustcmd*{\Gentextcites}{\bibsentence\gentextcites} + +%%% End code for \gentextcite %%% + +\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}% + {\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}% + {\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext]% + {\footcitetext}{\setunit{\multicitedelim}} + +\DeclareCiteCommand{\bibxrefcite} + {\usebibmacro{cite:init}% + \usebibmacro{backref+check}}%\usebibmacro{clearalmostall}} (?) + {\usebibmacro{xref-in:}% + \blx@ibidreset% For authordate style + \usebibmacro{cite}} + {}% + {}% + +\DeclareCiteCommand{\origfullcite} + {\usebibmacro{backref+check}% + \nopunct\unspace% + \savebibmacro{cmsbibsortdate}% + \renewbibmacro*{cmsbibsortdate}{}}% + {\usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \clearname{author}\clearfield{userf}%\toggletrue{cms@fullnote}% + \toggletrue{cms@headlessnote}\frenchspacing}% + {\thefield{entrytype}}% + \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}% + {\multicitedelim}% + {\restorebibmacro{cmsbibsortdate}} + +\DeclareCiteCommand{\origpublcite}% Similar to above, w/o title. + {\usebibmacro{backref+check}% + \nopunct%\unspace% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\addspace}{\unspace}% + \savebibmacro{cmsbibsortdate}% + \renewbibmacro*{cmsbibsortdate}{}}% + {\usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \usebibmacro{clearpublin}\usebibmacro{cms:titlehook}% + \toggletrue{cms@headlessnote}%\toggletrue{cms@fullnote}% + \toggletrue{cms@origpublished}\frenchspacing}% + {\thefield{entrytype}}% + \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}% + {\multicitedelim}% + {\restorebibmacro{cmsbibsortdate}} + +%%%% List Formats %%%% + +\DeclareListFormat{language}{% + \ifthenelse{\value{listcount}=1}% + {\bibleftbracket\bibstring{inlang}%\addspace - for inflected langs. + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{lang#1}% + {\bibstring{lang#1}}% + {#1}}% + \ifthenelse{\value{listtotal}=1}% + {\bibrightbracket}% + {}}% + {\ifthenelse{\value{listcount}=\value{listtotal}}% + {\multilangdelim% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{lang#1}% + {\bibstring{lang#1}}% + {#1}}% + \bibrightbracket}% + {\multilangdelim% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{lang#1}% + {\bibstring{lang#1}}% + {#1}}}}% + \usebibmacro{langlist:andothers}}% + +\DeclareListFormat{publisher}{% + \ifthenelse{\value{listtotal}<2}% + {#1\isdot}% + {\ifthenelse{\value{listcount}=1}% + {#1}% + {\multipubsdelim #1\isdot}}}% + +\DeclareListFormat{periodplace}{\mkbibparens{#1}} + +\DeclareListFormat{lista}{% + \ifthenelse{\value{listtotal}<2}% + {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}% + {\ifthenelse{\value{listcount}=1}% + {\bibsstring{subverbis}\addspace\mkbibquote{#1\isdot}\addcomma}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\addspace\mkbibquote{#1\isdot}\addcomma}% + {\addspace\mkbibquote{#1\isdot}}}}} + +%%%% Field Formats -- Mostly non-title %%%% + +\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot} + +\DeclareFieldFormat{postnote}{% Changed for page compression option + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{pagination}% + {\mkcomprange{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {#1}% + {\mkpageprefix[pagination]{#1}}}}% + +\DeclareFieldFormat[inreference]{postnote}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% + {\mkpageprefix[pagination]{#1}}}}% + +\DeclareFieldFormat{pages}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{bookpagination}% + {\mkcomprange{#1}\isdot}% + {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}% + {\iffieldundef{bookpagination}% + {#1\isdot}% + {\mkpageprefix[bookpagination]{#1}}}}% + +\DeclareFieldFormat{bibnote}{\MakeCapital{#1}} + +\DeclareListFormat{edlang}{% Required for feminine forms in some + \usebibmacro{list:delim}{% languages + \ifbibstring{#1}% + {\bibxstring{#1}}% + {\ifbibstring{ed#1}% + {\bibxstring{ed#1}}% + {\ifcapital{\MakeCapital{#1}}{#1}}}}% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{ed#1}% + {\bibstring{ed#1}}% + {\ifcapital{\MakeCapital{#1}}{#1}}}% + \usebibmacro{list:andothers}} + +\DeclareFieldFormat[customc]{title}{% + \iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {#1}} + +\DeclareFieldFormat[customc]{citetitle}{% + \ifnameundef{author}% + {#1}% + {\iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {\printfield{nameaddon}\addspace #1}}} + +\DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{shorttitle}{\mkbibemph{#1}\isdot} + +%%%% Other Field Formats %%%% + +\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} + +\DeclareFieldFormat{note}{% + \ifcapital{\MakeCapital{#1}}{#1}}% + +\DeclareFieldFormat +[audio,manual,music,patent,report,suppbook,suppcollection,thesis,video] +{type}{% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifcapital% + {\MakeCapital{#1\isdot}}% + {#1\isdot}}} + +\DeclareFieldFormat[artwork,image]{type}{% + \ifcapital% + {\MakeCapital{#1}}% + {#1}} + +\DeclareFieldFormat{url}{\url{#1}} + +\DeclareFieldFormat{doi}{% + \textrm{doi}\addcolon + \ifhyperref + {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}% + {\nolinkurl{#1}}} + +\DeclareFieldFormat[music]{date}{% Generalize userd ??? + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}% + \OR\NOT\iffieldundef{eventyear}\OR\NOT\iffieldundef{origyear}% + \OR\NOT\iffieldundef{urlmonth}\OR\NOT\iffieldundef{eventmonth}% + \OR\NOT\iffieldundef{origmonth}}% + {#1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{date}{% Generalize userd ??? + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}% + \OR\NOT\iffieldundef{eventyear}\OR\NOT\iffieldundef{urlmonth}% + \OR\NOT\iffieldundef{eventmonth}}% + {#1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat{date}{% Generalize userd ??? + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}}% + {#1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat{urldate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{urlseen}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{urldate}{% 16th ed. + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% + {\bibstring{urlseen}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[music]{urldate}{% 16th ed. + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}% + \OR\NOT\iffieldundef{origyear}}% + {\bibstring{urlseen}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[music]{origdate}{% 16th ed. + \iftoggle{cms@reprint}% Date fix + {#1}% + {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% + {\bibstring{discrecorded}\space #1}% + {\printfield{userd}\addspace #1}}} + +\DeclareFieldFormat[music]{eventdate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{songrecorded}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{eventdate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{broadcast}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldAlias{userd}{titleaddon}% 16th ed. + +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! + +\DeclareFieldFormat[review,suppperiodical]{nameaddon}{#1\bibsentence}% 16th ed. + +\DeclareFieldFormat[customc]{nameaddon}{% For cross-refs + \ifbibstring{#1}% + {\mkbibemph{\bibstring{#1}}}% + {#1}}% + +\DeclareFieldFormat{edition}{% New in 0.8 + \ifinteger{#1}% + {\mkbibordedition{#1}~\bibstring{edition}}% + {\ifcapital + {\MakeCapital{#1\isdot}}% + {#1\isdot}}} + +\DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? + +\DeclareFieldFormat{titleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? + +\DeclareFieldAlias{booktitleaddon}{titleaddon} + +\DeclareFieldAlias{maintitleaddon}{titleaddon} + +\DeclareFieldFormat{jourser}{% + \ifinteger{#1}% + {\mkbibordseries{#1}% + \addnbspace% + \bibstring{jourser}}% + {\ifbibstring{#1}{\bibstring{#1}}{#1}}} + +\DeclareFieldFormat{journum}{% Revised for 0.9.5 + \ifboolexpr{% + test {\ifnumerals{#1}}% + and + not test {\ifnumeral{#1}}% + }% + {\bibstring{numbers}\addspace #1}% + {\bibstring{number}\addspace #1}} + +\DeclareFieldFormat{sernum}{% + \ifnumeral{#1}% + {\addnbspace #1}% + {\addcomma\addspace #1}} + +\DeclareFieldFormat{addendum}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +% This works better here than in the entrytail macro -- userf use is +% no longer a problem, though the page breaking still isn't ideal. + +\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1} + +\DeclareFieldFormat{part}{% + \ifnumerals{#1}% + {\addcomma\addspace\bibstring{partvolume}~#1}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}} + +\DeclareFieldAlias[review]{volume}[article]{volume} + +\DeclareFieldAlias[suppperiodical]{volume}[article]{volume} + +\DeclareFieldFormat{cmshyper}{% Control the number of elements hyperlinked. + \ifboolexpr{% + ( + not test {\iffieldequalstr{entrysubtype}{classical}}% + or + togl {blx@skipbib}% + ) + and + not togl {cms@linkit}% + }% + {#1}% + {\bibhyperref{#1}}}% + +\DeclareFieldFormat{cmsyearhyper}{% Only link when in ref list + \iftoggle{blx@skipbib} + {#1}% + {\bibhyperref{#1}}}% + +%%%% Related field formats from biblatex.def %%%% + +\DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens + +\DeclareFieldFormat{related:origpubin}{#1} + +\DeclareFieldFormat{relatedstring:default}{% For notes + bib + \ifboolexpr{% + test {\iffieldundef{relatedstring}}% + or + test {\iffieldbibstring{relatedstring}}% + }% + {#1}% + {\ifcapital% + {\MakeCapital{#1}}% + {#1}}% + \ifentrytype{jurisdiction}% + {\newcunit}% + {\printunit{\relatedpunct}}}% + +\DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib + \ifboolexpr{% + test {\iffieldundef{relatedstring}}% + or + test {\iffieldbibstring{relatedstring}}% + }% + {#1}% + {\ifcapital% + {\MakeCapital{#1}}% + {#1}}% + \addspace}% + +%%%% Commands, for users and internal %%%% + +\newcommand*{\cbytypeeditor}{% Needed? + \iffieldundef{editortype}% + {\bibstring{cbytypeeditor}}% + {\bibstring{cbytype\thefield{editortype}}}} + +\renewcommand*{\multicitedelim}{\addsemicolon\space} + +\newcommand*{\cms@testspace}{% FIXME + \ifboolexpr{% + test {\ifnumequal{\spacefactor}{\blx@sf@dot}}% + and + not test {\ifbibliography}% + }% + {\addnbspace}% + {\addspace}}% + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\renewcommand*{\nameyeardelim}{% + \ifboolexpr{% + ( + togl {cms@bothlabelnew}% + or + togl {cms@bothlabelold}% + ) + and + ( + not test {\iffieldundef{year}}% + and + not test {\iffieldundef{origyear}}% + ) + }% + {\cms@testspace}% + {\cms@pre@punct% + \ifboolexpr{% + test {\iffieldundef{labelyear}}% + or + test {\iffieldequalstr{labelyear}{nodate}}% + or + togl {cms@fulldate}% + or + bool {cms:comma}% + }% + {\addcomma\addspace}% + {\iffieldundef{origyear}% + {\iffieldundef{year}% + {\cms@testspace}% + {\ifboolexpr{% + test {\iffieldnums{year}}% + or + test {\iffieldstart{year}{[}}%] For backward compatibility + }% + {\cms@testspace}% + {\addcomma\addspace}}}% + {\cms@testspace}}\global\boolfalse{cms:comma}}} + +\newrobustcmd*{\cms@citepunct@helper}[1]{% + \begingroup + \blx@metadateinfo{#1}% + \ifboolexpr{% + test {\if@cms@bracket}% + and + not togl {cms@noyearbrackets}% + }% + {}% + {\if@cms@circa% + {\global\booltrue{cms:comma}}% + {\if@cms@adfirst% + {\iffieldnum{#1year}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + not test {\iffieldequalstr{#1dateera}{bce}}% + and + test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}% + }% + {\global\booltrue{cms:comma}}% + {}}% + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@languagename{french}}% + or + test {\ifdefstring\blx@languagename{dutch}}% + }% + {\ifboolexpr{% + not test {\iffieldequalstr{#1dateunspecified}{yearindecade}}% + or + togl {cms@alwaysrange}% + or + togl {cms@decaderange}% + }% + {}% + {\global\booltrue{cms:comma}}}% + {\ifboolexpr{% + test {\ifdefstring\blx@languagename{brazilian}}% + or + test {\ifdefstring\blx@languagename{brazil}}% + }% + {\ifboolexpr{% + test {\iffieldundef{#1dateunspecified}}% + or + togl {cms@alwaysrange}% + }% + {}% + {\ifboolexpr{% + ( + test {\iffieldequalstr{#1dateunspecified}{yearindecade}}% + and + not togl {cms@decaderange}% + ) + or + ( + test {\iffieldequalstr{#1dateunspecified}{yearincentury}}% + and + not togl {cms@centuryrange}% + ) + }% + {\global\booltrue{cms:comma}}% + {}}}% + {}}}}}% + \endgroup} + +\newrobustcmd*{\cms@pre@punct}{% + \iftoggle{cms@origlabel}% + {\cms@citepunct@helper{orig}}% + {\ifdefstring\abx@field@labeldatesource{year}% + {\cms@citepunct@helper{}}% + {\ifdefstring\abx@field@labeldatesource{origyear}% + {\cms@citepunct@helper{orig}}% + {\ifdefstring\abx@field@labeldatesource{nodate}% + {}% + {\cms@citepunct@helper{\abx@field@labeldatesource}}}}}} + +\renewcommand*{\subtitlepunct}{% Follows CMS16 spec. + \ifboolexpr{% + test {\ifterm}% + and + not test {\ifcsdef{@cmsst}}% + }% + {\addspace}% + {\addcolon\addspace% + \global\csundef{@cmsst}}% +} + +\newcommand{\postvolpunct}{\addcolon}% + +\newcommand*{\parttrans}{% + {\bibstring{bytranslator}\space}}% + +\protected\def\partedit#1{% + \ifcat\noexpand~\noexpand#1% + \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \ifx\addnbspace#1% + \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \ifx\addspace#1% + \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \if#1H% + \appto{\cms@tempb}{#1}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \if#1h% + \appto{\cms@tempb}{#1}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \def\cms@tempa{\part@edit@i\lbx@initnamehook{#1}% + \csuse{cms@tempb}#1\csundef{cms@tempb}}% + \fi% + \fi% + \fi% + \fi% + \fi% + \cms@tempa% +}% + +\newcommand*{\part@edit@i}{\bibstring{byeditor}\addspace}% + +\newcommand*{\partcomp}{% + {\bibstring{bycompiler}\space}}% + +\newcommand*{\parteditandcomp}{% + {\bibstring{byeditorcp}\space}}% + +\newcommand*{\parttransandcomp}{% + {\bibstring{bytranslatorcp}\space}}% + +\newcommand*{\partedittransandcomp}{% + {\bibstring{byeditortrcp}\space}}% + +\newcommand*{\parteditandtrans}{% + {\bibstring{byeditortr}\space}}% + +\newcommand*{\reprint}{\bibstring{reprint}}% + +\newcommand*{\multipubsdelim}{\addnbspace/\addspace} + +\newcommand*{\multilocsdelim}{% + \ifthenelse{\value{listcount}<\value{liststop}}% + {\ifthenelse{\numexpr\value{listcount}+1<\value{liststop}}% + {\addcomma\addspace}% + {\ifthenelse{\value{liststop}>2}% + {\addcomma\addspace\bibstring{and}\addspace}% + {\addspace\bibstring{and}\addspace}}}% + {}}% + +\newcommand*{\multilangdelim}{% + \ifthenelse{\value{listtotal}<3}% + {\addspace\bibstring{and}\addspace}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\addcomma\addspace}% + {\addcomma\addspace\bibstring{and}\addspace}}} + +\renewcommand*{\postnotedelim}{% Cf. N&B style + \ifboolexpr{% + test {\ifciteibid}% + and + ( + test {\ifentrytype{jurisdiction}}% + or + test {\ifentrytype{legal}}% + or + test {\ifentrytype{legislation}}% + ) + }% + {\addspace}% + {\iftoggle{cms@inlineibid}% + {\togglefalse{cms@inlineibid}% + \iffieldundef{prenote}% Bug fix + {}% + {\cms@testspace}}% + {\iffieldequalstr{entrysubtype}{classical}% For Notes+Bib, too? + {\DeclareNumChars*{abcdeABCDE:}% + \iffieldpages{postnote}% + {\cms@testspace}% + {\addcomma\addspace}}% + {\addcomma\addspace}\DeclareNumChars{.}}}} + +\newcommand*{\postnotewrapper}{% + \iftoggle{cms@modpostnote}% + {\ifboolexpr{% + test {\iffieldstart{postnote}{,}}% + or + test {\iffieldstart{postnote}{\bibrangessep}}% + }% + {\addcomma}% w/ or w/o \addspace? + {\ifboolexpr{% + test {\iffieldstart{postnote}{;}}% + or + test {\iffieldstart{postnote}{:}}% + or + test {\iffieldstart{postnote}{.}}% + }% + {}{\postnotedelim}}}% + {\postnotedelim}}% + +\newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from + \begingroup% comp.text.tex + \edef\@tempa{% + \long\def\noexpand\iffieldstart@i####1\detokenize{#2}####2}% + \@tempa\@nil{\endgroup\ifblank{##1}}% + \savefield*{#1}{\@tempa}% + \expandafter\iffieldstart@i\detokenize + \expandafter\expandafter\expandafter{% + \expandafter\@tempa\detokenize{#2}}\@nil} + +\newcommand*{\editordelim}{% Otherwise you get an inaccurate comma. + \iffieldequalstr{editortype}{none}% + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace + +\newcommand*{\nameadelim}{% Otherwise you get an inaccurate comma. + \iffieldequalstr{nameatype}{none}% + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace + +\DeclareDelimFormat{dateeradelim}{\addnbspace}% +\DeclareDelimFormat{dateaddelim}{\addnbspace}% + +\DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide + \begingroup% final {by}. + \blx@bibstringnormal% + \usebibmacro{list:delim}{% + \ifbibstring{from#1}% + {\bibxlstring{cfrom#1}}% + {\ifbibstring{clang#1}% + {\bibxlstring{lang#1}}% + {#1}}}% + \ifbibstring{cfrom#1}% + {\ifboolexpr{% + test {\ifnumless{\value{listcount}}{\value{liststop}}}% + or + test {\ifmoreitems}% + }% + {\bibstring{from#1}}% + {\bibstring{cfrom#1}}}% + {\ifbibstring{lang#1}% + {\biblstring{lang#1}}% + {#1}}% + \usebibmacro{list:andotherlangs}% + \endgroup} + +\newbibmacro*{list:andotherlangs}{% Final {by} after {andmore} + \ifboolexpr{% + test {\ifnumequal{\value{listcount}}{\value{liststop}}}% + and + test {\ifmoreitems}% + }% + {\ifnumgreater{\value{liststop}}{1}% + {\finalandcomma}% + {}% + \printdelim{andmoredelim}\bibstring{andmore}\addspace\bibstring{by}}% + {}} + +\newcommand*{\lbx@cfromlang}{% Because the cbytranslator string can't + \iffieldundef{userf}% have {by} in it unless there's an origlanguage. + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[cfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +\renewcommand*{\lbx@fromlang}{% + \iffieldundef{userf}% + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[lfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +\renewcommand*{\lbx@lfromlang}{% + \iffieldundef{userf}% + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[lfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +\renewcommand*{\lbx@sfromlang}{% + \iffieldundef{userf}% + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[sfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +%%%% Formatting macros, called both by cbx and bbx %%%% + +\newbibmacro*{finentry}{%{\finentry} To make annotated bibliography + \ifbibliography + {\usebibmacro{entrytail}}% + {}% + \finentry} + +\newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography + \newunit\newblock + \iftoggle{cms@annotation}% + {\usebibmacro{annotation}% + \newunit\newblock}% + {}}% + +\newbibmacro*{author+holder}{% + \ifnameundef{author}% + {\let\bbx@lasthash\undefined}% + {\usebibmacro{author/editor}% + \ifthenelse{\ifnameundef{holder}\OR + \ifnamesequal{author}{holder}}% + {}% + {\setunit{\addspace}% + \printtext[parens]{\printnames{holder}}}}} + +\renewbibmacro*{byauthor}{% + \ifthenelse{\ifuseauthor\OR + \ifnameundef{author}}% + {}% + {\bibstring{by}\addspace% + \printnames[byauthor]{author}}} + +\newbibmacro*{byauthorpunct}{% + \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}% + {\addperiod\addspace}% + {\newcunit}} + +\renewbibmacro*{bybookauthor}{% + \ifnameundef{bookauthor}% + {}% + {\ifnamesequal{author}{bookauthor}% + {}% + {\bibstring{by}\addspace\printnames[default]{bookauthor}% + \newcunit\newblock}}} + +\newbibmacro*{editorpunct}{% + \ifthenelse{\(\iffieldundef{booktitle}\AND% + \iffieldundef{maintitle}\AND\iffieldundef{issuetitle}\)% + \OR\iffieldsequal{booktitle}{title}% Changed these for crossrefed + \OR\iffieldsequal{maintitle}{title}}% entries. Create problems? + {\ifentrytype{video}% + {\newcunit\newblock}% + {\newunit\newblock}}% + {\newcunit\newblock}} + +\newbibmacro*{edition}{% + \printfield{edition}% + \clearfield{edition}}% + +\newbibmacro*{inforaft}{% + \ifnameundef{introduction}% + {\ifnameundef{afterword}% + {\ifnameundef{foreword}% + {\printfield{type}}% + {\bibstring{forewordto}% + \clearname{foreword}}}% + {\bibstring{afterwordto}% + \clearname{afterword}}}% + {\bibstring{introductionto}% + \clearname{introduction}}} + +\newbibmacro*{langlist:andothers}{% + \ifthenelse{\value{listcount}=\value{liststop}\AND + \ifmoreitems}% + {\ifnum\value{liststop}>1 \finalandcomma\fi + \andmoredelim\bibstring{andmore}\bibrightbracket}% + {}} + +\newbibmacro*{reference+title}{% + \ifboolexpr{% + test {\iffieldequals{title}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\usebibmacro{italtitle+stitle}% + \savefield{title}{\bbx@lasthash}}} + +\newbibmacro*{mag+news+author}{% + \ifboolexpr{% + ( + test {\ifnameundef{author}}% + or + not test {\ifuseauthor}% + ) + and + not togl {cms@origpublished}% + }% + {\ifboolexpr{% + test {\iffieldequals{journaltitle}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \savefield{journaltitle}{\bbx@lasthash}}}% + {\usebibmacro{author}}} + +\newbibmacro*{cmag+news+author}{% + \ifnameundef{author}% + {\usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}}% + {\usebibmacro{author}}} + +\newbibmacro*{type+inst+year}{% + \printfield{type}% + \newcunit + \printlist{institution}% + \setunit*{\addcomma\space}% + \printdate}% Was printfield{year}? + +\newbibmacro*{institution+organization}{% + \iflistundef{organization}% + {\iflistundef{institution}% + {}% + {\printlist{institution}}}% + {\printlist{organization}% + \newcunit% + \printlist{institution}}} + +\newbibmacro*{author+org}{% + \ifnameundef{author}% + {\ifnameundef{editor}% + {\iflistundef{organization}% + {\let\bbx@lasthash\undefined}% + {\ifboolexpr{% + test {\iflistequals{organization}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printlist{organization}\bibcloseparen}% + {\printlist{organization}}% + \savelist{organization}{\bbx@lasthash}}}}% + {\usebibmacro{editor}}}% + {\usebibmacro{author/editor}}} + +\newbibmacro*{cbytypestrg}[2]{% + \iffieldundef{#1type}% + {\bibstring{by#2}}% + {\bibstring{by\thefield{#1type}}}} + +\newbibmacro*{cbyeditor}{% + \ifnameundef{editor}% + {}% + {\usebibmacro{cbytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \newcunit}% + \usebibmacro{cbyeditorx}} + +\newbibmacro*{cbyeditorx}{% + \ifnameundef{editora}% + {}% + {\usebibmacro{cbytypestrg}{editora}{editor}% + \setunit{\addspace}% + \printnames[byeditora]{editora}% + \newcunit}% + \ifnameundef{editorb}% + {}% + {\usebibmacro{cbytypestrg}{editorb}{editor}% + \setunit{\addspace}% + \printnames[byeditorb]{editorb}% + \newcunit}% + \ifnameundef{editorc}% + {}% + {\usebibmacro{cbytypestrg}{editorc}{editor}% + \setunit{\addspace}% + \printnames[byeditorc]{editorc}% + \newcunit}} + +\newbibmacro*{cbytranslator}{% + \ifnameundef{translator}% + {}% + {\bibstring{bytranslator}% + \addspace + \printnames[bytranslator]{translator}}} + +\newbibmacro*{cbycompiler}{% + \ifnameundef{namec}% + {}% + {\bibstring{cbycompiler}\addspace% + \printnames[bycompiler]{namec}}} + +\newbibmacro*{cbyredactor}{% + \ifnameundef{redactor}% + {}% + {\bibstring{cbyredactor}\addspace% + \printnames[byredactor]{redactor}}} + +\newbibmacro*{cwithcommentator}{% + \ifnameundef{commentator}% + {}% + {\bibstring{withcommentator}\addspace% + \printnames[withcommentator]{commentator}}} + +\newbibmacro*{cwithannotator}{% + \ifnameundef{annotator}% + {}% + {\bibstring{withannotator}\addspace% + \printnames[withannotator]{annotator}}} + +\newbibmacro*{cwithintroduction}{% + \ifnameundef{introduction}% + {}% + {\bibstring{withintroduction}\addspace% + \printnames[withintroduction]{introduction}}} + +\newbibmacro*{cwithforeword}{% + \ifnameundef{foreword}% + {}% + {\bibstring{withforeword}\addspace% + \printnames[withforeword]{foreword}}} + +\newbibmacro*{cwithafterword}{% + \ifnameundef{afterword}% + {}% + {\bibstring{withafterword}\addspace% + \printnames[withafterword]{afterword}}} + +\newbibmacro*{cbyeditor+others}{% + \ifthenelse{\NOT\ifnameundef{editor}\AND + \(\iffieldundef{editortype}\OR + \iffieldequalstr{editortype}{editor}\)}% + {\def\@tempa{cbyeditor}% + \ifnamesequal{editor}{translator}% + {\edef\@tempa{\@tempa tr}% + \clearname{translator}}% + {}% + \ifnamesequal{editor}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{editor}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{editor}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{editor}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{editor}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{editor}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\space% + \printnames[byeditor]{editor}% + \clearname{editor}% + \newcunit% + \usebibmacro{cbyeditorx}}% + {\usebibmacro{cbyeditor}}% + \usebibmacro{cbytranslator+others}} + +\newbibmacro*{cbytranslator+others}{% + \ifnameundef{translator}% + {}% + {\def\@tempa{cbytranslator}% + \ifnamesequal{translator}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{translator}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{translator}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{translator}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{translator}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{translator}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\space% + \printnames[bytranslator]{translator}% + \clearname{translator}% + \newcunit}% + \usebibmacro{cbycompiler+others}} + +\newbibmacro*{cbycompiler+others}{% + \ifnameundef{namec}% + {}% + {\def\@tempa{cbycompiler}% + \ifnamesequal{namec}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{namec}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{namec}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{namec}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{namec}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\space% + \printnames[bycompiler]{namec}% + \clearname{namec}% + \newcunit}% + \usebibmacro{cbyothers}} + +\newbibmacro*{cbyothers}{% + \usebibmacro{cbytranslator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cbycompiler}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cbyredactor}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithcommentator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithannotator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithintroduction}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithforeword}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithafterword}} + +\newbibmacro*{cms-in:}{% Fix for 0.9a compat. + \iftoggle{cms@origpublished}% + {}% + {\bibstring{in}% + \setunit{\addspace}}} + +\newbibmacro*{xref-in:}{% + \iffieldundef{volume}{}{\savefield{volume}{\cbx@incollvol}}% + \iffieldundef{part}{}{\savefield{part}{\cbx@incollpart}}% + \bibstring{in}\setunit{\addspace}}% Changed for related:reprintfrom + +\newbibmacro*{chapincoll}{% + \iffieldundef{chapter}% + {}% + {\printfield{chapter}\addspace% + \clearfield{chapter}}}% + +\newbibmacro*{chapinscore}{% + \iffieldundef{chapter}% + {\ifboolexpr{% + test {\ifentrytype{music}}% + and + not test {\iffieldundef{booktitle}}% + and + not togl {cms@origpublished}% + }% + {\bibstring{on}\setunit{\addspace}}% + {}}% + {\printfield{chapter}\clearfield{chapter}% + \iffieldundef{booktitle}% + {}% + {\addspace\bibstring{of}\setunit{\addspace}}}}% + +\newbibmacro*{music+ser+num}{% + \iffieldundef{series}% + {\iffieldundef{number}% + {}% + {\printfield{number}}}% + {\printfield{series}% + \setunit{\addspace}% + \printfield{number}}}% + +\newbibmacro*{music+publisher}{% + \iffieldundef{howpublished}% + {\iffieldundef{pubstate}% + {}% + {\printfield{pubstate}}}% + {\printfield{howpublished}}}% + +\newbibmacro*{music+origdate}{% + \iftoggle{cms@reprint}% 16th ed. + {}% + {\iftoggle{cms@switchdates}% Date fix + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% + {}% + {\usebibmacro{cmsorigdate}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% + {}% + {\usebibmacro{cmsorigdate}}}}}% + +\newbibmacro*{music+eventdate}{% Date fix + \ifthenelse{\iffieldundef{eventyear}\AND\iffieldundef{eventmonth}}% + {}% + {\printeventdate}} + +\newbibmacro*{ser+num}{% + \printfield{series}% + \printfield[sernum]{number}% + \newunit} + +\newbibmacro*{language+transtitle}{% + \iffieldundef{usere}% + {\printlist[][-\value{listtotal}]{language}}% + {\printfield{usere}}} + +\newbibmacro*{publ+loc+year}{% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}% For the author-date style. Tricky. +}% + +\newbibmacro*{origpubl+loc+year}{% 16th ed. + \printlist{origlocation}% + \iflistundef{origpublisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{origpublisher}}% + +\newbibmacro*{howpubl+loc+year}{% + \printlist{location}% + \iffieldundef{howpublished}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printfield{howpublished}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% +}% + +\newbibmacro*{inst+loc+year}{% + \printlist{location}% + \iflistundef{institution}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% +}% + +\newbibmacro*{originally+published+as}{% Punctuation fix now in + \iffieldundef{userf}% \origfullcite for 0.8e. + {\iffieldundef{reprinttitle}% + {}% + {\usebibmacro{begrelated}% + \bibstring{reprintfrom}% ? + \origpublcite{\thefield{reprinttitle}}% + \usebibmacro{endrelated}% + \newunit}}% + {\usebibmacro{begrelated}% + \iflistundef{origlanguage}% + {\bibstring{origpub}% + \origfullcite{\thefield{userf}}% + \usebibmacro{endrelated}% + \newunit}% + {\iftoggle{cms@postposit}% + {\bibstring{origedition}% + \setunit{\addspace}% + \printlist[edlang]{origlanguage}% + \addcolon% + \origfullcite{\thefield{userf}}% + \usebibmacro{endrelated}% + \newunit}% + {\printlist[edlang]{origlanguage}% + \setunit{\addspace}% + \bibstring{origedition}% + \origfullcite{\thefield{userf}}% + \usebibmacro{endrelated}% + \newunit}}}} + +\newbibmacro*{org+publ+loc+year}{% What was wrong with \ifthenelse here? + \printlist{location}% + \iflistundef{organization}% + {\iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}}% + {\setunit*{\addcolon\addspace}}% + \printlist{organization}% + \setunit*{\addcomma\space}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}} + +\newbibmacro*{year+in+parens}{% + \iffieldundef{volume}% + {noformat}% + {parens}} + +\newbibmacro*{letter+date}{% New for 0.9 + \iflistundef{origlocation}% + {}% + {\printlist{origlocation}% + \newcunit\newblock}% + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% + {}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% + {}% + {\cms@datelong{orig}}}} + +\newbibmacro*{unpubl+letter+date}{% For the Misc type. + \iflistundef{origlocation}% + {}% + {\printlist{origlocation}% + \newcunit\newblock}% + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% + {}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% + {\printdate}% For interviews and other dated non-letters + {\cms@datelong{orig}}}} + +\newbibmacro*{cmsbookdate}{% + \ifthenelse{\iffieldundef{year}\AND\iffieldundef{origyear}}% + {\newunit}% + {\iftoggle{cms@switchdates}% + {\iffieldundef{origyear}% + {\newunit}% + {\newcunit\printorigdate}}% + {\iffieldundef{year}% + {\newunit}% + {\newcunit\printdate}}}} + +\renewbibmacro*{date}{% Adding the test solved some issues in 0.9 with + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}% + \AND\iffieldundef{origday}\AND\iffieldundef{origseason}}% + {}% + {\printorigdate}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}% + \AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some + {}% entry types (Misc). The whole \printdate thing may need further work. + {\printdate}}} + +\newbibmacro*{time+stamp}{% 17th ed. + \iftoggle{cms@switchdates}% + {\iffieldundef{orighour}% + {}% + {\newcunit\printorigtime}}% + {\iffieldundef{hour}% + {}% + {\newcunit\printtime}}} + +\newcommand*{\cms@datelong}[1]{% Modified for 17th ed. + \begingroup + \protected\def\mkbibdatelong##1##2##3{% + \iffieldundef{##3}% + {}% + {\iftoggle{cms@ukord}% + {\mkbibordinal{\thefield{##3}}}% + {\stripzeros{\thefield{##3}}}% + \iffieldundef{##2}{}{\nobreakspace}}% + \iffieldundef{##2}% + {}% + {\mkbibmonth{\thefield{##2}}% + \iffieldundef{##1}{}{\space}}% + \iffieldbibstring{##1}% + {\bibstring{\thefield{##1}}}% + {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}% + \cms@mkbibrangetrunc{long}{#1}% + \endgroup}% + +\newrobustcmd*{\letterdatelong}{% For users: 17th ed. + \ifboolexpr{% + test {\ifdefstring{\blx@languagename}{american}}% + or + test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel + }% + {\iftoggle{cms@switchdates}% + {\cms@datelong{}}% + {\cms@datelong{orig}}}% + {\iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}}}% + +\newbibmacro*{journal+sub}{% + \iffieldundef{journaltitle}% + {}% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\clearlist{location}\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + {\printtext[journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}}}}% + +\newbibmacro*{chap+pag}{% + \printfield{chapter}% + \setunit*{\addcomma\space}% + \printfield{pages}} + +\newbibmacro*{mag+news+date}{% + \ifboolexpr{% + ( + test {\ifnameundef{author}}% + or + not test {\ifuseauthor}% + ) + and + not togl {cms@origpublished}% + }% + {\usebibmacro{date+issue}}% + {\usebibmacro{mag+date+issue}}} + +\newbibmacro*{date+issue}{% + \iffieldundef{issue}% + {\iffieldundef{number}% + {\usebibmacro{date}}% + {\iftoggle{cms@numbermonth}% + {\usebibmacro{date}}% + {\usebibmacro{cmsyear}}% + \setunit*{\addcomma\addspace}% Starred version for when the + \printfield[journum]{number}}}% month isn't printed because of + {\printfield{issue}% the toggle. + \setunit{\addspace}% + \usebibmacro{cmsyear}}} + +\newbibmacro*{mag+date+issue}{% + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + +\newbibmacro*{cmsyear}{% + \iftoggle{cms@switchdates}% + {\clearfield{extradate}\printorigdateextra}% \printfield{origyear} + {\clearfield{extradate}\printdateextra}}% \printfield{year} + +\newbibmacro*{cmsorigdate}{% New for 0.9 + \iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}} + +\newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries, + \ifboolexpr{% article subtype + togl {cms@citejtabb}% + and + test {\ifcitation}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\ifboolexpr{% + togl {cms@bibjtabb}% + and + test {\ifbibliography}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \setunit*{\addspace}% + \iffieldundef{series}% + {}% + {\newcunit + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{issue}\AND\iffieldundef{season}}% New, more accurate + {\iffieldundef{volume}% test, also in article + {\newcunit% + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}}% + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}}}% + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}% need * here? + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}}% + \printfield{eid}% + \newunit} + +\newbibmacro*{periodical+date+issue}{% For periodical type & + \ifboolexpr{% magazine subtype + togl {cms@citejtabb}% + and + test {\ifcitation}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\ifboolexpr{% + togl {cms@bibjtabb}% + and + test {\ifbibliography}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + +\renewbibmacro*{postnote}{% + \iffieldundef{postnote}% + {}% + {\setunit{\postnotewrapper}%delim}% + \printfield{postnote}}} + +\newbibmacro*{part+editor+translator}{% + \ifnameundef{namea}% + {\ifnameundef{nameb}% + {}% + {\bibstring{bytranslator}\space% + \printnames[bytranslator]{nameb}}}% + {\ifthenelse{\iffieldundef{nameatype}\OR% + \iffieldequalstr{nameatype}{editor}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{byeditortr}\space% + \printnames[byeditor]{namea}}% + {\bibstring{byeditor}\space% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newunit + \bibstring{bytranslator}\space% + \printnames[bytranslator]{nameb}}}}% + {\usebibmacro{bytypestrg}{namea}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newunit% + \bibstring{bytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}} + +\newbibmacro*{compilestrg}{% + \ifthenelse{\value{namec}>1\OR\ifandothers{namec}}% + {\bibstring{compilers}}% + {\bibstring{compiler}}% + \clearname{namec}} + +\newbibmacro*{transstrg}{% + \ifthenelse{\value{translator}>1\OR\ifandothers{translator}}% + {\ifnamesequal{translator}{namec}% + {\bibstring{transcompilers}% + \clearname{namec}}% + {\bibstring{translators}}}% + {\ifnamesequal{translator}{namec}% + {\bibstring{transcompiler}% + \clearname{namec}}% + {\bibstring{translator}}}% + \clearname{translator}} + +\newbibmacro*{parttransstrg}{% + \ifthenelse{\value{nameb}>1\OR\ifandothers{nameb}}% + {\ifnamesequal{nameb}{namec}% + {\bibstring{transcompilers}% + \clearname{namec}}% + {\bibstring{translators}}}% + {\ifnamesequal{nameb}{namec}% + {\bibstring{transcompiler}% + \clearname{namec}}% + {\bibstring{translator}}}% + \clearname{nameb}} + +\newbibmacro*{editstrg}{% Test added for 0.9 + \ifthenelse{\iffieldundef{editortype}\OR + \iffieldequalstr{editortype}{editor}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% + {\ifthenelse{\ifnamesequal{editor}{translator}\AND + \ifnamesequal{editor}{namec}}% + {\bibstring{editortranscompilers}% + \clearname{translator}% + \clearname{namec}}% + {\ifnamesequal{editor}{namec}% + {\bibstring{editorcompilers}% + \clearname{namec}}% + {\ifnamesequal{editor}{translator}% + {\bibstring{editortranslators}% + \clearname{translator}}% + {\bibstring{editors}}}}}% + {\ifthenelse{\ifnamesequal{editor}{translator}\AND + \ifnamesequal{editor}{namec}}% + {\bibstring{editortranscompiler}% + \clearname{translator}% + \clearname{namec}}% + {\ifnamesequal{editor}{namec}% + {\bibstring{editorcompiler}% + \clearname{namec}}% + {\ifnamesequal{editor}{translator}% + {\bibstring{editortranslator}% + \clearname{translator}}% + {\bibstring{editor}}}}}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% + {\bibstring{\thefield{editortype}s}}% + {\bibstring{\thefield{editortype}}}}% + \clearname{editor}} + +\newbibmacro*{parteditstrg}{% + \ifthenelse{\iffieldundef{nameatype}\OR% + \iffieldequalstr{nameatype}{editor}}% + {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% + {\ifthenelse{\ifnamesequal{namea}{nameb}\AND + \ifnamesequal{namea}{namec}}% + {\bibstring{editortranscompilers}% + \clearname{nameb}% + \clearname{namec}}% + {\ifnamesequal{namea}{namec}% + {\bibstring{editorcompilers}% + \clearname{namec}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{editortranslators}% + \clearname{nameb}}% + {\bibstring{editors}}}}}% + {\ifthenelse{\ifnamesequal{namea}{nameb}\AND + \ifnamesequal{namea}{namec}}% + {\bibstring{editortranscompiler}% + \clearname{nameb}% + \clearname{namec}}% + {\ifnamesequal{namea}{namec}% + {\bibstring{editorcompiler}% + \clearname{namec}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{editortranslator}% + \clearname{nameb}}% + {\bibstring{editor}}}}}}% + {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% + {\bibstring{\thefield{nameatype}s}}% + {\bibstring{\thefield{nameatype}}}}% + \clearname{namea}} + +\newbibmacro*{clearpublin}{% + \clearname{author}\clearfield{shorthand}% + \ifthenelse{\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR% + \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}}% + {}% + {\clearname{namea}% + \clearname{nameb}}% + \clearfield{nameaddon}% + \ifthenelse{\(\ifentrytype{periodical}\OR\ifentrytype{mvbook}\OR% + \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}\OR% + \ifentrytype{mvreference}\OR\ifentrytype{proceedings}\OR% + \ifentrytype{collection}\OR\ifentrytype{reference}\OR% + \ifentrytype{suppbook}\OR\ifentrytype{suppcollection}\)\OR% + \(\(\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}\)\AND\iffieldundef{booktitle}\)}% + {}% + {\clearfield{title}% + \clearfield{subtitle}% + \clearfield{titleaddon}% + \clearfield{usere}% + \clearlist{language}% + \ifentrytype{music}% + {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}% + \clearfield{eventmonth}}% + {}}% + \ifentrytype{letter}% + {\iftoggle{cms@switchdates}% + {\clearfield{year}\clearfield{month}\clearfield{season}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% + \clearfield{origlocation}}% + {}% + \clearfield{reprinttitle}% +} + +%%%% Related macros from biblatex.def %%%% + +\renewbibmacro*{related:origpubas}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \usebibmacro{cite:origfull}}}% + +\renewbibmacro*{related:reprintfrom}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \nopunct% ??? + \usebibmacro{cite:origpubl}}}% + +\renewbibmacro*{related:origpubin}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \usebibmacro{cmsyear}% + \ifboolexpr{% + test {\iflistsequal{publisher}{savedpublisher}}% + or + test {\iflistundef{publisher}}% + }% + {}% + {\setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}% + \printlist{publisher}% + \setunit{\addcomma\space}% + \iflistsequal{location}{savedlocation}% + {}% + {\printlist{location}}}}} + +\renewbibmacro*{related:bytranslator}[1]{% + \entrydata{#1}{% + \usebibmacro{at+every+item}% + \renewbibmacro*{name:hook}[1]{% + \ifnumequal{\value{listcount}}{1}% + {\begingroup + \mkrelatedstring% + \lbx@initnamehook{#1}% + \endgroup}% + {}}% + \printnames[bytranslator]{translator}% + \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}% + \clearname{translator}% + \usebibmacro{cite:origfull}}}% + +\renewbibmacro*{related:default}[1]{% + \entrydata*{#1}{% + \usedriver + {\ifnameundef{savedauthor}% + {\ifnameundef{savededitor}% + {}% + {\ifnamesequal{editor}{savededitor}% + {\clearname{editor}}% + {}}}% + {\ifnamesequal{author}{savedauthor}% + {\clearname{author}}% + {}}% + \usebibmacro{at+every+item}% + \renewbibmacro*{cmsbibsortdate}{}% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{sortname}{default}% + \renewbibmacro*{pageref}{}}% + {\thefield{entrytype}}}} + +\letbibmacro*{related:maintitlenc}{related:multivolume}% From N & B +\letbibmacro*{related:maintitle}{related:multivolume}% + +\renewbibmacro*{related:multivolume}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {}% + {\printtext{% + \printfield{volume}% + \printfield{part}}% + \setunit{\addcolon\space}}% + \usebibmacro{italtitle+stitle}% + \ifboolexpr{% + test {\ifnamesequal{author}{savedauthor}}% + or + test {\ifnameundef{author}}% + }% + {}% + {\usebibmacro{bytypestrg}{author}{author}% + \setunit{\addspace}% + \printnames[byauthor]{author}% + \newcunit\newblock}% + \ifboolexpr{% + test {\ifnamesequal{namea}{savednamea}}% + or + test {\ifnameundef{namea}}% + }% + {\ifboolexpr{% + test {\ifnamesequal{editor}{savededitor}}% + or + test {\ifnameundef{editor}}% + }% + {\ifboolexpr{% + test {\ifnamesequal{nameb}{savednameb}}% + or + test {\ifnameundef{nameb}}% + }% + {}% + {\bibstring{bytranslator}\addspace% + \printnames[bytranslator]{nameb}\newcunit}}% + {\usebibmacro{byeditor+others}% + \newcunit\newblock}}% + {\usebibmacro{part+editor+translator}% + \newcunit}% + \usebibmacro{date}}}% + +\providetoggle{cms@otherlang} + +\apptocmd\blx@opt@autolang@other% +{\toggletrue{cms@otherlang}}% +{\blx@info@noline{Patching 'autolang=other' option}}% +{\PackageWarningNoLine{biblatex-chicago}% + {Upgrading biblatex to >v2.7a recommended,\MessageBreak + especially if you are using the "related"\MessageBreak + functionality}} + +\newbibmacro*{cite:origfull}{% + \printtext[cmshypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \clearname{author}\clearfield{userf}\clearfield{shorthand}% + \toggletrue{cms@headlessnote}\frenchspacing% + \renewbibmacro*{cmsbibsortdate}{}}% + {\thefield{entrytype}}}} + +\newbibmacro*{cite:origpubl}{% + \printtext[cmshypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \usebibmacro{clearpublin}\clearfield{shorthand}% + \toggletrue{cms@headlessnote}\toggletrue{cms@origpublished}% + \frenchspacing\renewbibmacro*{cmsbibsortdate}{}% + \usebibmacro{cms:titlehook}}% + {\thefield{entrytype}}}} + +\newbibmacro*{at+every+item}{% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}% + \ifboolexpr{% AD requires this here because cmsbibsortdate=null + test {\iffieldundef{origyear}}% + or + test {\iffieldundef{year}}% + or + not test {\iffieldint{year}}% + or + togl {cms@switchdates}% + }% + {}% + {\ifboolexpr{% Needed for open-ended ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}}% + {}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}}% + {}}}}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx index b132de4700c..e14d9114aaf 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx @@ -1,10 +1,8 @@ -% $Id: chicago-notes.bbx,v 0.10.1.14 2018/01/11 09:17:35 dfussner Exp $ -% This is a biblatex style file, adapted mainly from Lehman's standard.bbx -% It provides the bibliography formatting for the Chicago notes + -% bibliography style. +% This is a biblatex style file, originally adapted mainly from +% Lehman's standard.bbx. It provides the bibliography formatting for +% the Chicago notes + bibliography style. - -\ProvidesFile{chicago-notes.bbx}[2018/01/11 v 3.10 biblatex bibliography style] +\ProvidesFile{chicago-notes.bbx}[2020/04/20 v 3.14 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -13,6 +11,8 @@ \DeclareFieldFormat{shorthandwidth}{#1} +\DeclareFieldFormat{shortserieswidth}{#1} + \DeclareFieldFormat{shortjournalwidth}{% \ifthenelse{\ifentrytype{jurisdiction}\OR% \ifentrytype{legal}\OR\ifentrytype{legislation}}% @@ -33,7 +33,7 @@ \defbibenvironment{shorthand}% {\list - {\printfield[shorthandwidth]{shorthand}}% + {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}% {\setlength{\labelwidth}{\shorthandwidth}% \setlength{\leftmargin}{\labelwidth}% \setlength{\labelsep}{\biblabelsep}% @@ -44,22 +44,9 @@ {\endlist} {\item} -\defbibenvironment{shorthands}% For biblatex < 2.9 - {\list - {\printfield[shorthandwidth]{shorthand}}% - {\setlength{\labelwidth}{\shorthandwidth}% - \setlength{\leftmargin}{\labelwidth}% - \setlength{\labelsep}{\biblabelsep}% - \addtolength{\leftmargin}{\labelsep}% - \setlength{\itemsep}{\lositemsep}% - \setlength{\parsep}{\bibparsep}% - \renewcommand*{\makelabel}[1]{##1\hss}}} - {\endlist} - {\item} - \defbibenvironment{losnotes} {\list - {\printfield[shorthandwidth]{shorthand}}% + {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}% {\footnotesize% \setlength{\labelwidth}{\shorthandwidth}% \setlength{\leftmargin}{\labelwidth}% @@ -73,7 +60,7 @@ \defbibenvironment{losendnotes} {\list - {\printfield[shorthandwidth]{shorthand}}% + {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}% {\enotesize% \setlength{\labelwidth}{\shorthandwidth}% \setlength{\leftmargin}{\labelwidth}% @@ -144,6 +131,57 @@ % {\savefield{shortjournal}{\cms@shjour}}}% % {\savefield{shortjournal}{\cms@shjour}}} +\defbibenvironment{shortseries}% + {\list + {\printfield[shortserieswidth]{shortseries}}% + {\setlength{\labelwidth}{\shortserieswidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.7\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{shsernotes}% + {\list + {\printfield[shortserieswidth]{shortseries}}% + {\footnotesize% + \setlength{\labelwidth}{\shortserieswidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{shserendnotes}% + {\list + {\printfield[shortserieswidth]{shortseries}}% + {\enotesize% + \setlength{\labelwidth}{\shortserieswidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist\nopunct\vspace{-\baselineskip}} + {\item} + +\defbibcheck{shortseries}{% Only one list + \ifthenelse{\iffieldundef{shortseries}\OR% + \iffieldundef{series}\OR% + \iffieldsequal{series}{shortseries}}% + {\skipentry}% + {\ifcsdef{\strfield{shortseries}}% + {\skipentry}% + {\savefieldcs{shortseries}% + {\strfield{shortseries}}}}}% + \AtBeginBibliography{% \togglefalse{cms@headlessnote}% \togglefalse{cms@shortnote}% @@ -153,9 +191,7 @@ \AtEveryBibitem{% \global\csundef{@cmsst}% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}% + \togglefalse{cms@postvol}% MT fix \ifboolexpr{% test {\iffieldundef{origyear}}% or @@ -182,9 +218,6 @@ \AtEveryLositem{% \global\csundef{@cmsst}% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}% \ifboolexpr{% test {\iffieldundef{origyear}}% or @@ -220,8 +253,10 @@ \let\bbx@lasthash\undefined} %%%% Bibliography-specific bibstrings %%%% - -%% Now in *.lbx %% +% \NewBibliographyString{note,preface,subsection,subsections,selfpublished,% +% commenton,printed,track,choreographer,choreographers,cbychoreographer,% +% bychoreographer}% +%% Now below %% %%%% Author, Editor, Translator, and Compiler Macros %%%% @@ -346,11 +381,19 @@ \newbibmacro*{justauthor}{% \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% {\iftoggle{cms@origcite}{}{\let\bbx@lasthash\undefined}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% {\iffieldundef{nameaddon}% - {\bibnamedash\addperiod\addspace}% - {\bibnamedash\addspace}}% + {\printtext{\bibnamedash}}%\addperiod\addspace + {\printtext{\bibnamedash}% + \ifentrytype{customc}% + {\newunit}% + {\setunit{\addspace}}\printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% {\bibleftbracket\printnames{author}\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% @@ -358,16 +401,25 @@ {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% {\printnames{author}% + \ifentrytype{customc}% + {\ifbibliography{\newunit}{\newcunit}}% + {\setunit{\addspace}}% + \printfield{nameaddon}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{moreauthor}{% \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% {\usebibmacro{pickeditor}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% {\iffieldundef{nameaddon}% - {\bibnamedash\addperiod\addspace}% - {\bibnamedash\addspace}}% + {\printtext{\bibnamedash}}%\addperiod\addspace + {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% {\bibleftbracket\printnames{author}\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% @@ -375,6 +427,8 @@ {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% \savefield{fullhash}{\bbx@lasthash}}% {\printnames{author}% + \setunit{\addspace}% + \printfield{nameaddon}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{pickeditor}{% @@ -384,13 +438,23 @@ \newbibmacro*{moreeditor}{% \ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% - {\usebibmacro{picktranslator}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\editordelim}% - {\printnames{editor}\editordelim% - \savefield{fullhash}{\bbx@lasthash}}% - \usebibmacro{editstrg}}} + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{editstrg}}} \renewbibmacro*{editor}{% \iftoggle{cms@headlessnote}% @@ -398,28 +462,58 @@ {\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% {\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% {\usebibmacro{picktranslator}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\editordelim}% - {\printnames{editor}\editordelim% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{editstrg}}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\nameadelim}% - {\printnames[sortname]{namea}\nameadelim% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\nameadelim}}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}}}% \newbibmacro*{parteditor}{% \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% - {\usebibmacro{picktranslator}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\nameadelim}% - {\printnames[sortname]{namea}\nameadelim% - \savefield{fullhash}{\bbx@lasthash}}% - \usebibmacro{parteditstrg}}} + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\nameadelim}}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parteditstrg}}} \newbibmacro*{picktranslator}{% \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% @@ -428,31 +522,61 @@ \newbibmacro*{moretranslator}{% \ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}% - {\usebibmacro{compiler}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\addcomma\addspace}% - {\printnames[sortname]{translator}\addcomma\addspace% - \savefield{fullhash}{\bbx@lasthash}}% - \usebibmacro{transstrg}}} + {\usebibmacro{compiler}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\printnames[sortname]{translator}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{transstrg}}} \newbibmacro*{parttranslator}{% \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% - {\usebibmacro{compiler}}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\addcomma\addspace}% - {\printnames[sortname]{nameb}\addcomma\addspace% - \savefield{fullhash}{\bbx@lasthash}}% - \usebibmacro{parttransstrg}}} + {\usebibmacro{compiler}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\printnames[sortname]{nameb}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parttransstrg}}} \newbibmacro*{compiler}{% \ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}% {\let\bbx@lasthash\undefined}% - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% - \iffirstonpage}% - {\bibnamedash\addcomma\addspace}% - {\printnames[sortname]{namec}\addcomma\addspace% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\printnames[sortname]{namec}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{compilestrg}}} @@ -472,14 +596,29 @@ {\ifnameundef{labelname}% {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% \ifentrytype{periodical}}% - {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% - \newcunit}}% - {\ifentrytype{manual}% - {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% + {\printfield[journaltitle]{journaltitle}\newcunit}% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% + {\printlist{organization}\newcunit}% {}}}% - {\usebibmacro{author/editor}% - \setunit{\addcomma\addspace}}% - \printfield[lostitle]{title}% + {\ifthenelse{\ifentrytype{customc}\OR\ifentrytype{dataset}}% + {\usebibmacro{justauthor}\setunit{\addspace}}% + {\usebibmacro{author/editor}\newunit}}% + \ifboolexpr{% + test {\ifentrytype{video}}% + and + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + }% + {\printtext[booktitle]{% + \printfield[btnoformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[sbtnoformat]{booksubtitle}}% (?) + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}}% + {\printfield[lostitle]{title}}% \finentry}} \DeclareBibliographyDriver{shortjournal}{% @@ -498,6 +637,9 @@ \printlist[periodplace]{location}}% \finentry}% +\DeclareBibliographyDriver{shortseries}{% + \printfield{series}\finentry} + \DeclareStyleSourcemap{ \maps[datatype=bibtex]{ \map{ @@ -514,9 +656,16 @@ } \map[overwrite]{ \pertype{jurisdiction} - \step[fieldsource=shortjournal, match=\regexp{[^\\adddot][a-z]}, final] + \step[fieldsource=shortjournal, match=\regexp{\\adddot},% + replace=\regexp{\\ADDDOT}] + \step[fieldsource=shortjournal, match=\regexp{[a-z]}, final] \step[fieldset=shortjournal, fieldvalue=\addnbspace, append] } + \map[overwrite]{ + \pertype{jurisdiction} + \step[fieldsource=shortjournal, match=\regexp{\\ADDDOT},% + replace=\regexp{\\adddot}] + } \map{ \pertype{legislation} \step[fieldsource=title, match=\regexp{Const}, final] @@ -531,10 +680,24 @@ replace={canadasection}] } \map{ - \step[fieldsource=pubstate, match={forthcoming}, final] + \step[fieldsource=pubstate, match=\regexp{forthcoming|inpreparation|% + submitted|inpress}, final] \step[fieldset=year, origfieldval, final] - \step[fieldsource=year, match=\regexp{(forthcoming)}, + \step[fieldsource=year, match=\regexp{(forthcoming|inpreparation|% + submitted|inpress)}, replace=\regexp{\\bibstring\{$1\}}]%$ + \step[fieldset=pubstate, null] + } + \map[overwrite]{ + \step[fieldsource=relatedtype, match=\regexp{maintitle}, final] + \step[fieldsource=options, final] + \step[fieldsource=options, notmatch=\regexp{related=true}, final] + \step[fieldset=options, fieldvalue=\regexp{,related=true}, append] + } + \map{ + \step[fieldsource=relatedtype, match=\regexp{maintitle}, final] + \step[notfield=options, final] + \step[fieldset=options, fieldvalue=\regexp{related=true}] } \map{ \pertype{article} @@ -545,6 +708,59 @@ replace={magazine}] } \map[overwrite]{ + \pertype{article} + \pertype{review} + \pertype{suppperiodical} + \pertype{online} + \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final] + \step[fieldsource=options, final] + \step[fieldsource=options, notmatch=\regexp{related=true}, final] + \step[fieldset=options, fieldvalue=\regexp{,related=true}, append] + } + \map{ + \pertype{article} + \pertype{review} + \pertype{suppperiodical} + \pertype{online} + \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final] + \step[notfield=options, final] + \step[fieldset=options, fieldvalue=\regexp{related=true}] + } + \map{ + \pertype{review} + \pertype{suppperiodical} + \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final] + \step[fieldsource=related, final] + \step[fieldset=title, origfieldval] + } + \map[overwrite]{ + \pertype{review} + \pertype{suppperiodical} + \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final] + \step[fieldsource=related, final] + \step[fieldsource=related, match=\regexp{(.*)}] + \step[fieldsource=title, match=\regexp{^$1$}, final] + \step[fieldsource=relatedtype] + \step[fieldset=title, origfieldval, append] + \step[fieldsource=relatedstring, final] + \step[fieldset=title, origfieldval, append] + } + \map{ + \pertype{online} + \step[fieldsource=relatedtype, match=commenton, final] + \step[fieldsource=related, final] + \step[fieldset=title, fieldvalue=CCCCCC] + } + \map[overwrite]{ + \pertype{online} + \step[fieldsource=relatedtype, match=commenton, final] + \step[fieldsource=title, match=\regexp{^CCCCCC$}, final]%$ + \step[fieldsource=related, final] + \step[fieldset=title, origfieldval, append] + \step[fieldsource=relatedstring, final] + \step[fieldset=title, origfieldval, append] + } + \map[overwrite]{ \step[fieldsource=subtitle, final] \step[fieldsource=title, match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ @@ -579,33 +795,88 @@ final] \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] } + \map[overwrite, foreach=related]{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvproceedings} + \pertype{mvreference} + \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$ + \step[fieldsource=related, match=\regexp{.*,.*}, final] + \step[fieldsource=entrykey, match=\regexp{(.*)}] + \step[entryclone=$1-$MAPLOOP] + \step[fieldset=related, fieldvalue=$MAPLOOP,%$ + entrytarget=$1-$MAPLOOP] + } + \map[overwrite, foreach=related]{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvproceedings} + \pertype{mvreference} + \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$ + \step[fieldsource=related, match=\regexp{.*,.*}, final] + \step[fieldsource=sorttitle, final] + \step[fieldsource=entrykey, match=\regexp{(.*)}] + \step[fieldset=sorttitle, fieldvalue=$MAPLOOP, append,%$ + entrytarget=$1-$MAPLOOP] + } + \map{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvproceedings} + \pertype{mvreference} + \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$ + \step[fieldsource=related, match=\regexp{.*,.*}, final] + \step[fieldset=relatedtype, null] + \step[fieldset=related, null] + } + \map[overwrite, foreach=related]{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvproceedings} + \pertype{mvreference} + \step[fieldsource=relatedtype, match=maintitlenc, final] + \step[fieldsource=related, match=\regexp{.*,.*}, final] + \step[fieldsource=entrykey, match=\regexp{(.*)}] + \step[entryclone=$1-$MAPLOOP, entrynocite] + \step[fieldset=related, fieldvalue=$MAPLOOP,%$ + entrytarget=$1-$MAPLOOP] + } + \map[overwrite, foreach=related]{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvproceedings} + \pertype{mvreference} + \step[fieldsource=relatedtype, match=maintitlenc, final] + \step[fieldsource=related, match=\regexp{.*,.*}, final] + \step[fieldsource=sorttitle, final] + \step[fieldsource=entrykey, match=\regexp{(.*)}] + \step[fieldset=sorttitle, fieldvalue=$MAPLOOP, append,%$ + entrytarget=$1-$MAPLOOP] + } + \map{ + \pertype{mvbook} + \pertype{mvcollection} + \pertype{mvproceedings} + \pertype{mvreference} + \step[fieldsource=relatedtype, match=maintitlenc, final] + \step[fieldsource=related, match=\regexp{.*,.*}, final] + \step[fieldset=relatedtype, null] + \step[fieldset=related, null] + } + \map{ + \pertype{video} + \step[fieldsource=entrysubtype, match=tvepisode, final] + \step[fieldsource=title, final] + \step[fieldsource=booktitle, final] + \step[fieldset=sorttitle, origfieldval] + } } }% -\DeclareBibliographyDriver{shorthands}{% For biblatex < 2.9 - \iftoggle{cms@fullshhand}% - {\usedriver{\frenchspacing}% - {\thefield{entrytype}}% - \finentry}% - {\ifnameundef{labelname}% - {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% - \ifentrytype{periodical}}% - {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% - \newcunit}}% - {\ifentrytype{manual}% - {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% - {}}}% - {\usebibmacro{author/editor}% - \setunit{\addcomma\addspace}}% - \printfield[lostitle]{title}% - \finentry}} - \DeclareBibliographyDriver{article}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{mag+news+author}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{mag+news+title}% \setunit{\addspace}% @@ -616,10 +887,12 @@ \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock% 17th ed. clarifies punctuation \printfield{note}% \setunit*{\addcomma\addspace}\newblock% \usebibmacro{mag+news+date}% + \newunit\newblock + \printfield{type}% \newcunit\newblock \usebibmacro{chap+pag}% \newunit\newblock @@ -637,6 +910,8 @@ togl {cms@related}% and not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% }% {\usebibmacro{related:init}% \usebibmacro{related}% @@ -646,8 +921,6 @@ \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{mag+news+title}% \setunit{\addspace}% @@ -660,7 +933,7 @@ \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock% As above \printfield{note}% \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? \usebibmacro{journal+issue+year+pages}% @@ -679,6 +952,8 @@ togl {cms@related}% and not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% }% {\usebibmacro{related:init}% \usebibmacro{related}% @@ -691,28 +966,36 @@ \DeclareBibliographyDriver{artwork}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% - \newcunit\newblock - \usebibmacro{date}% + \newunit\newblock + \iffieldundef{origyear}% 17th ed. + {\printdate}% + {\usebibmacro{cmsorigdate}}% \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock - \printfield{howpublished}% + \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed. + {}% + {\usebibmacro{date}}% \newunit\newblock \printfield{type}% \newcunit\newblock - \printfield{version}% + \printfield[type]{version}% \newcunit\newblock \printfield{note}% \newunit\newblock \usebibmacro{institution+organization}% \setunit*{\addcomma\addspace}\newblock \printlist{location}% + \newunit + \printfield{howpublished}% 17th ed. + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% + \newcunit\newblock + \usebibmacro{volume+pages}% 17th ed. \newunit\newblock \printfield{addendum}% \setunit*{\addcomma\addspace}\newblock% @@ -731,15 +1014,17 @@ \DeclareBibliographyDriver{audio}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% \newunit\newblock% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% - \newcunit%\setunit{\addperiod\addspace}% + \newunit\newblock + \usebibmacro{music+eventdate}% 17th ed. + \iffieldundef{eventyear}% + {\newcunit}% + {\newunit}% \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}% \iffieldundef{booktitle}% @@ -748,7 +1033,7 @@ \iffieldundef{edition}% {}% {\usebibmacro{edition}}% - \newunit% unit, not cunit? + \usebibmacro{editorpunct}%\newunit%? \usebibmacro{bybookauthor}% \usebibmacro{byeditor+others}% \newunit% ??? Editorpunct maybe not right here? @@ -809,21 +1094,21 @@ \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{italtitle+stitle}% \setunit{\addspace}% \usebibmacro{bib:xref+date}% - \newunit\newblock + \usebibmacro{related:mtpunct}%\newunit\newblock \iffieldundef{maintitle}% {\iffieldundef{edition}% {}% - {\usebibmacro{edition}}}% + {\usebibmacro{edition}}% + \setunit*{\addcomma\addspace}% + \usebibmacro{version}}% {}% - \newunit\newblock% 16th ed. + \usebibmacro{related:mtpunct}% \usebibmacro{byauthor}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{part+editor+translator}% \newunit\newblock \ifboolexpr{% @@ -841,6 +1126,10 @@ \iffieldundef{edition}% {}% {\usebibmacro{edition}}% + \newcunit + \iffieldundef{version}% + {}% + {\printfield{version}}% \usebibmacro{editorpunct}% \usebibmacro{byeditor+others}% \usebibmacro{editorpunct}%\newcunit\newblock @@ -861,6 +1150,8 @@ \newcunit \printlist[][-\value{listtotal}]{lista}% \newunit\newblock + \printfield{type}% 17th ed. + \newunit\newblock \printfield{addendum}% \setunit*{\addcomma\addspace}\newblock% \iftoggle{cms@isbn}% @@ -871,7 +1162,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -889,7 +1184,11 @@ \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -907,7 +1206,11 @@ \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -918,8 +1221,6 @@ \DeclareBibliographyDriver{bookinbook}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% \setunit{\addspace}% @@ -936,6 +1237,17 @@ \usebibmacro{part+editor+translator}% \setunit*{\addperiod\addspace}% \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or togl {cms@bookbibxref}% @@ -977,7 +1289,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -995,7 +1311,11 @@ \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1013,19 +1333,51 @@ \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% {}% \usebibmacro{originally+published+as}% - \usebibmacro{finentry}}} + \usebibmacro{finentry}}}% +{\entrydata{\thefield{related}}{% + \ifboolexpr{% + test {\ifentryinbib{\strfield{clonesourcekey}}}% + and + not togl {cms@bookbibxref}% + }% + {\savefield{clonesourcekey}{\cms@shortmtkey}}% + {}}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \csgundef{cms@shortmtkey}% + \newunit\newblock% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{booklet}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% \newunit\newblock% 16th ed. @@ -1043,7 +1395,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1054,13 +1410,11 @@ \DeclareBibliographyDriver{collection}{% \usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{italtitle+stitle}% \setunit{\addspace}% \usebibmacro{bib:xref+date}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{part+editor+translator}% \newunit\newblock \ifboolexpr{% @@ -1082,6 +1436,14 @@ \usebibmacro{byeditor+others}% \newunit \usebibmacro{volume+or+volumes}% + \ifcsdef{cms@mtchapter}% + {\newcunit\newblock + \printfield{chapter}}% + {}% + \ifcsdef{cms@mtpages}% + {\newcunit\newblock + \printfield{pages}}% + {}% \newunit\newblock \usebibmacro{ser+num}% \newunit\newblock @@ -1099,9 +1461,13 @@ \setunit*{\addcomma\addspace}\newblock% \usebibmacro{bib+doi+url}% \newunit\newblock - \usebibmacro{pageref}% + \usebibmacro{pageref}%!!!\printlist{pageref}::\strlist{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1119,7 +1485,11 @@ \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1137,7 +1507,11 @@ \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1147,32 +1521,105 @@ \DeclareBibliographyDriver{customc}{% \usebibmacro{bibindex}% + \usebibmacro{justauthor}% + \iffieldundef{nameaddon}% + {\newunit}% + {\setunit{\addspace}}% + \usebibmacro{italtitle+stitle}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{dataset}{% + \usebibmacro{bibindex}% \usebibmacro{author/editor}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \setunit{\addspace}\newblock% + \ifthenelse{\iffieldundef{howpublished}\AND% + \iffieldundef{number}\AND\iffieldundef{type}}% + {}% + {\printtext[parens]{% + \printfield{howpublished}% + \newcunit + \printfield{type}% + \setunit{\addspace}% + \printfield{number}}}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \setunit{\addsemicolon\addspace}% + \printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% \newunit\newblock - \printfield{nameaddon}% - \setunit*{\addspace}% - \usebibmacro{italtitle+stitle}% + \iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\bibsstring{\thefield{pubstate}}}% + {\printfield[prenote]{pubstate}}% + \setunit{\addspace}}% + \usebibmacro{date}% + \clearfield{urlyear}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% \usebibmacro{finentry}} \DeclareBibliographyDriver{image}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% - \newcunit%\setunit{\addcomma\addspace}% - \usebibmacro{date}% + \newunit%\setunit{\addcomma\addspace}% + \iffieldundef{origyear}% + {\printdate}% + {\usebibmacro{cmsorigdate}}% \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock - \printfield{howpublished}% + \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed. + {}% + {\usebibmacro{date}}% \newunit\newblock \printfield{type}% \newcunit\newblock - \printfield{version}% + \printfield[type]{version}% \newcunit\newblock \printfield{note}% \newunit\newblock @@ -1180,13 +1627,23 @@ \setunit*{\addcomma\addspace}\newblock \printlist{location}% \newunit\newblock + \printfield{howpublished}% 17th ed. + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% + \newcunit\newblock + \usebibmacro{volume+pages}% 17th ed. + \newunit\newblock \printfield{addendum}% \setunit*{\addcomma\addspace}\newblock% \usebibmacro{bib+doi+url}% \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1197,8 +1654,6 @@ \DeclareBibliographyDriver{inbook}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}\newblock%\bibsentence @@ -1208,6 +1663,17 @@ \setunit{\addperiod\addspace}% \usebibmacro{part+editor+translator}% \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or togl {cms@bibcrossref}% @@ -1248,7 +1714,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1267,7 +1737,11 @@ \bibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1286,19 +1760,45 @@ \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% {}% \usebibmacro{originally+published+as}% - \usebibmacro{finentry}}} + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+bib}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock% + \usebibmacro{originally+published+as}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{incollection}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}\newblock%\bibsentence @@ -1308,6 +1808,17 @@ \newunit\newblock \usebibmacro{part+editor+translator}% \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or togl {cms@bibcrossref}% @@ -1348,7 +1859,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1367,7 +1882,11 @@ \bibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1386,19 +1905,45 @@ \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% {}% \usebibmacro{originally+published+as}% - \usebibmacro{finentry}}} + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+bib}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock% + \usebibmacro{originally+published+as}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}\newblock% @@ -1408,6 +1953,17 @@ \setunit{\addperiod\addspace}% \usebibmacro{part+editor+translator}% \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or togl {cms@bibcrossref}% @@ -1441,7 +1997,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1460,7 +2020,11 @@ \bibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1479,24 +2043,53 @@ \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% {}% \usebibmacro{originally+published+as}% - \usebibmacro{finentry}}} + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+bib}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock% + \usebibmacro{originally+published+as}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% + \iftoggle{cms@mtvolpunct}{\newcunit}{}% \usebibmacro{italtitle+stitle}% - \newunit\newblock + \usebibmacro{related:mtpunct}%\newunit\newblock \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% {\iffieldundef{edition}% {}% {\usebibmacro{edition}}}% {}% - \newunit\newblock + \usebibmacro{related:mtpunct}%\newunit\newblock \usebibmacro{part+editor+translator}% \setunit*{\addperiod\addspace}% need asterisk? \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% @@ -1526,7 +2119,7 @@ \ifnameundef{author}% {}% {\printtext{% 16th ed - \bibstring{by}% + \bibstring{byauthor}% \addspace% \printnames[byauthor]{author}}}% \newunit\newblock @@ -1540,7 +2133,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1557,8 +2154,6 @@ \DeclareBibliographyDriver{letter}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \printtext[title]{% \printfield[noformat]{title}}% @@ -1572,6 +2167,17 @@ \usebibmacro{part+editor+translator}% \setunit*{\addperiod\addspace}% \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or togl {cms@bibcrossref}% @@ -1609,7 +2215,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1628,7 +2238,11 @@ \bibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1647,19 +2261,45 @@ \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% {}% \usebibmacro{originally+published+as}% - \usebibmacro{finentry}}} + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+bib}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock% + \usebibmacro{originally+published+as}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{manual}{% \usebibmacro{bibindex}% \usebibmacro{bibauthor+org}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% \newunit\newblock @@ -1685,7 +2325,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1696,8 +2340,6 @@ \DeclareBibliographyDriver{misc}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \iffieldundef{entrysubtype}% {\usebibmacro{italtitle+stitle}}% @@ -1709,7 +2351,9 @@ \setunit{\addspace}% \usebibmacro{language+transtitle}% \newcunit\newblock% - \usebibmacro{unpubl+letter+date}}% + \usebibmacro{unpubl+letter+date}% + \newcunit + \printlist{origlocation}}% 17th ed. \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock @@ -1723,7 +2367,10 @@ \newunit\newblock \printfield{note}% \newunit\newblock - \usebibmacro{institution+organization}% + \iffieldundef{entrysubtype}% + {\printfield{venue}\setunit*{\addcomma\addspace}}% + {}% + \usebibmacro{misc+institution+organization}% \setunit*{\addcomma\addspace}\newblock \printlist{location}% \iffieldundef{entrysubtype}% @@ -1737,7 +2384,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1748,8 +2399,6 @@ \DeclareBibliographyDriver{music}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{italtitle+stitle}% \newunit% 16th ed. @@ -1757,9 +2406,16 @@ \newunit\newblock \usebibmacro{part+editor+translator}% \newunit\newblock + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\usebibmacro{byeditor+others}\newunit\newblock}{}% \usebibmacro{music+eventdate}% \newunit\newblock - \usebibmacro{chapinscore}% + \printfield{note}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \usebibmacro{chap+as+track}%inscore% 17th ed. + \usebibmacro{music+bookauthor}% Ditto. \usebibmacro{btitle+bstitle}% \iffieldundef{booktitle}% {\newunit}% Fix customc? @@ -1767,9 +2423,9 @@ \iffieldundef{edition}% {}% {\usebibmacro{edition}}% - \newunit% unit, not cunit? - \usebibmacro{bybookauthor}% - \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newunit% unit, not cunit? + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {}{\usebibmacro{byeditor+others}}% \newunit% ??? Editorpunct maybe not right here? \iffieldundef{maintitle}% {}% @@ -1796,15 +2452,15 @@ \usebibmacro{volume+pages}% \newunit\newblock \printfield{version}% - \newunit\newblock - \printfield{note}% \newunit\newblock% - \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}% + \usebibmacro{music+origdate}% Altered for 17th ed. \newunit\newblock \printlist{publisher}% \setunit*{\addcomma\addspace}\newblock - \printfield{series}% - \setunit{\addspace}% + \usebibmacro{series+or+shortser}% + \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}% + {\newunit}% + {\setunit{\addspace}}% \printfield{number}% \newcunit\newblock \usebibmacro{date}% @@ -1815,7 +2471,7 @@ \newcunit\newblock \printfield{type}% \newunit\newblock - \usebibmacro{pubstate}% 16th ed. + \usebibmacro{music+pubstate}% 17th ed. \newunit\newblock \printfield{addendum}% \setunit*{\addcomma\addspace}\newblock% @@ -1827,7 +2483,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1835,35 +2495,494 @@ \usebibmacro{originally+published+as}% \usebibmacro{finentry}} -\DeclareBibliographyAlias{mvbook}{book} +\DeclareBibliographyDriver{mvbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{related:mtpunct}%\newunit\newpunct% + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \usebibmacro{related:mtpunct}%\newunit\newblock + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \usebibmacro{mt+mvnames+save}% + \usebibmacro{related:mtpunct}% + \usebibmacro{byauthor}% + \usebibmacro{related:mtpunct}% + \usebibmacro{part+editor+translator}% + \usebibmacro{related:mtpunct}% + \usebibmacro{byeditor+others}% + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\usebibmacro{related:mtpunct}%newunit + \usebibmacro{volume+or+volumes}}% + \usebibmacro{related:mtpunct}%newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%cmsorigdate%\printorigdate + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newcunit + \printlist[][-\value{listtotal}]{lista}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}} -\DeclareBibliographyAlias{mvcollection}{collection} +\DeclareBibliographyDriver{mvcollection}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{related:mtpunct}%\newunit\newblock + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \usebibmacro{mt+mvnames+save}% + \usebibmacro{related:mtpunct}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{related:mtpunct}%\newunit\newblock + \usebibmacro{part+editor+translator}% + \usebibmacro{related:mtpunct}% + \usebibmacro{byeditor+others}% + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\usebibmacro{related:mtpunct}%newunit + \usebibmacro{volume+or+volumes}}% + \usebibmacro{related:mtpunct}%newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}} -\DeclareBibliographyAlias{mvproceedings}{proceedings} +\DeclareBibliographyDriver{mvproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{related:mtpunct}%\newunit\newblock% + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \usebibmacro{mt+mvnames+save}% + \usebibmacro{related:mtpunct}% + \usebibmacro{part+editor+translator}% + \usebibmacro{related:mtpunct}% + \usebibmacro{byeditor+others}% + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\usebibmacro{related:mtpunct}%newunit + \usebibmacro{volume+or+volumes}}% + \usebibmacro{related:mtpunct}%newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + {\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}} -\DeclareBibliographyAlias{mvreference}{reference} +\DeclareBibliographyDriver{mvreference}{% + \usebibmacro{bibindex}% + \usebibmacro{italtitle+stitle}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock%\usebibmacro{related:mtpunct}% mvref always first + \usebibmacro{bybookauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock%\usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\newunit + \usebibmacro{volume+or+volumes}}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \ifboolexpr{% + not togl {cms@related}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newunit\newblock% + \usebibmacro{pageref}% + \usebibmacro{finentry}}} \DeclareBibliographyDriver{online}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock - \usebibmacro{title+stitle}% - \setunit{\addspace}% - \usebibmacro{language+transtitle}% - \newunit% 16th ed. - \usebibmacro{byauthor}% - \newunit\newblock - \printlist{organization}% Rearranged for 16th ed. + \IfBeginWith{\thefield{title}}{CCCCCC}% + {}% + {\usebibmacro{title+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printlist{organization}% Rearranged for 16th ed. + \newunit\newblock + \printfield{note}% + \newcunit\newblock}% 17th ed. + \usebibmacro{date}% + \usebibmacro{time+stamp}% Ditto \newunit\newblock - \printfield{note}% + \printfield{type}% + \ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{commenton}}% Ditto + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {}% \newunit\newblock - \usebibmacro{date}% + \printfield{addendum}% \newunit\newblock \iffieldundef{urlyear}% {}% - {\printurldate}% Date fix + {\printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% Date fix \newunit\newblock \iftoggle{cms@doionly}% {\iffieldundef{doi}% @@ -1876,11 +2995,15 @@ \newunit\newblock \printfield{url}% \newunit\newblock - \printfield{addendum}% - \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{commenton}}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -1892,7 +3015,14 @@ \usebibmacro{bibindex}% \usebibmacro{author+holder}% + holder? \newunit\newblock - \usebibmacro{title}% + \iffieldundef{title}% + {}% + {\printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% \setunit{\addperiod\addspace}% @@ -1925,19 +3055,67 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{performance}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printfield{venue}% + \setunit*{\addcomma\addspace}% + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newcunit\newblock + \usebibmacro{date}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% {}% + \usebibmacro{originally+published+as}% \usebibmacro{finentry}} \DeclareBibliographyDriver{periodical}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{issuetitle}% \setunit{\addspace}% @@ -1965,8 +3143,6 @@ \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{issuetitle}% \setunit{\addspace}% @@ -1978,7 +3154,7 @@ \newunit\newblock \printfield{note}% \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? - \usebibmacro{periodical+issue+year+pages}% + \usebibmacro{journal+issue+year+pages}% \newunit\newblock \printfield{addendum}% \setunit*{\addcomma\addspace}\newblock% @@ -1990,7 +3166,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2001,13 +3181,11 @@ \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{italtitle+stitle}% \setunit{\addspace}% \usebibmacro{bib:xref+date}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{part+editor+translator}% \newunit\newblock \ifboolexpr{% @@ -2042,7 +3220,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2060,7 +3242,11 @@ \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2078,7 +3264,11 @@ \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2088,14 +3278,15 @@ \DeclareBibliographyDriver{reference}{% \usebibmacro{bibindex}% + \iftoggle{cms@mtvolpunct}{\newcunit}{}% \usebibmacro{italtitle+stitle}% - \newunit\newblock + \usebibmacro{related:mtpunct}%\newunit\newblock \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% {\iffieldundef{edition}% {}% {\usebibmacro{edition}}}% {}% - \newunit\newblock + \usebibmacro{related:mtpunct}% \usebibmacro{part+editor+translator}% \setunit*{\addperiod\addspace}% need asterisk? \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% @@ -2130,7 +3321,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2141,8 +3336,6 @@ \DeclareBibliographyDriver{report}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \iffieldequalstr{entrysubtype}{unpublished}% {\usebibmacro{title+stitle}}% @@ -2152,8 +3345,10 @@ \newunit\newblock \printfield{type}% \newcunit - \printfield{series}% - \setunit{\addnbspace}% + \usebibmacro{series+or+shortser}% + \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}% + {\newunit}% + {\setunit{\addnbspace}}% \printfield{number}% \newunit \printfield{note}% @@ -2170,7 +3365,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2184,14 +3383,18 @@ {\usebibmacro{mag+news+author}}% {\usebibmacro{author/editor}}% \newunit\newblock - \printeventdate% 16th ed. - \setunit{\addspace}% - \printfield{nameaddon}% 16th ed. + \usebibmacro{music+eventdate}% 17th ed. + \newcunit\newblock + \printeventtime% \newunit\newblock \ifboolexpr{% togl {cms@related}% and + ( test {\iffieldequalstr{relatedtype}{reviewof}}% + or + test {\iffieldequalstr{relatedtype}{commenton}}% + ) }% {\usebibmacro{related:init}% \usebibmacro{related}}% @@ -2204,23 +3407,126 @@ \usebibmacro{language+transtitle}% \newunit\newblock% \usebibmacro{part+editor+translator}% - \newunit\newblock% - \usebibmacro{issuetitle}% - \setunit*{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bibcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bibcrossref}% + }% + {\newunit\newblock% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \newunit\newblock% 17th ed. clarifies punctuation + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+date}% + \newunit\newblock + \printfield{type}% + \newcunit\newblock + \usebibmacro{chap+pag}}% + {\usebibmacro{journal+issue+year+pages}}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock}% + {\newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock}}% + {\newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock}% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldequalstr{relatedtype}{commenton}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{standard}{% + \usebibmacro{bibindex}% + \ifnameundef{author}% + {\iflistundef{organization}% + {}% + {\ifboolexpr{% + test {\iflistequals{organization}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\printlist{organization}% + \savelist{organization}{\bbx@lasthash}}}}% + {\usebibmacro{justauthor}}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newunit\newblock + \usebibmacro{edition}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock + \usebibmacro{series+or+shortser}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \printfield{type}% + \newunit \printfield{note}% - \setunit*{\addcomma\addspace}\newblock% - \iffieldequalstr{entrysubtype}{magazine}% - {\usebibmacro{mag+news+date}% - \newcunit\newblock - \usebibmacro{chap+pag}}% - {\usebibmacro{journal+issue+year+pages}}% + \newunit\newblock% + \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. + \reprintpunct% + \iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\biblstring{\thefield{pubstate}}}% + {\printfield[prenote]{pubstate}}% + \newcunit}% + \printlist{location}% + \iflistundef{publisher}% + {\iflistundef{organization}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}% + \printlist{organization}% + \setunit*{\addcomma\addspace}}}% + {\setunit*{\addcolon\addspace}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}}% + \usebibmacro{date} + \setunit{\addsemicolon\addspace}% + \printfield{howpublished}% + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% \newunit\newblock \printfield{addendum}% \setunit*{\addcomma\addspace}\newblock% \iftoggle{cms@isbn}% - {\printfield{issn}}% + {\printfield{isbn}}% {}% \setunit*{\addcomma\addspace}\newblock% \usebibmacro{bib+doi+url}% @@ -2230,7 +3536,7 @@ \ifboolexpr{% togl {cms@related}% and - not test {\iffieldequalstr{relatedtype}{reviewof}}% + not test {\iffieldundef{related}}% }% {\usebibmacro{related:init}% \usebibmacro{related}% @@ -2242,8 +3548,6 @@ \DeclareBibliographyDriver{suppbook}{% \usebibmacro{bibindex}% \usebibmacro{author}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{inforaft}% \setunit{\addspace}\newblock @@ -2257,6 +3561,8 @@ \newcunit \usebibmacro{bybookauthor}% \newcunit\newblock + \usebibmacro{part+editor+translator}% + \newcunit\newblock \usebibmacro{chap+pag}% \newunit\newblock \usebibmacro{mtitle+mstitle+vol+part+title+stitle}% @@ -2287,7 +3593,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2302,8 +3612,6 @@ \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}%\newblock% @@ -2321,7 +3629,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2332,8 +3644,6 @@ \DeclareBibliographyDriver{unpublished}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}\newblock% @@ -2365,7 +3675,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2375,27 +3689,50 @@ \DeclareBibliographyDriver{video}{% \usebibmacro{bibindex}% - \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newunit\newblock - \printtext[title]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% - \iffieldundef{booktitle}% Comma after italics, period after quotes - {\setunit{\ctitleaddonpunct}}% - {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% - \printfield{titleaddon}%\usebibmacro{title+stitle}% - \setunit{\addspace}\newblock%\bibsentence - \usebibmacro{language+transtitle}% - \setunit{\addperiod\addspace}% 16th ed. - \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% - \usebibmacro{part+editor+translator}% - \setunit{\addperiod\addspace}% - \usebibmacro{chapinscore}% - \usebibmacro{btitle+bstitle}% + \ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + ( + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + ) + }% + {\usebibmacro{author/editor}% + \newunit\newblock + \printtext[booktitle]{% + \printfield[btnoformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[sbtnoformat]{booksubtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{booktitleaddon}% + \setunit*{\addcomma\addspace}% + \usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}}% + {\usebibmacro{author/editor}% + \newunit\newblock + \printtext[title]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \iffieldundef{booktitle}% Comma after italics, period after quotes + {\setunit{\ctitleaddonpunct}}% + {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% + \printfield{titleaddon}%\usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \setunit{\addperiod\addspace}% + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}}% \iffieldundef{booktitle}% {\setunit{\addperiod\addspace}}% Fix customc? {\setunit{\addcomma\addspace}}% @@ -2432,12 +3769,14 @@ \newunit\newblock \usebibmacro{ser+num}% \newunit\newblock + \printfield{note}% + \newunit\newblock \usebibmacro{music+eventdate}% + \setunit*{\addcomma\addspace}% + \printfield{usera}% \newunit\newblock \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% \newunit\newblock - \printfield{note}% - \newunit\newblock \usebibmacro{publ+loc+year}% \newunit\newblock \printfield{type}% 16th ed. @@ -2452,7 +3791,11 @@ \newunit\newblock \usebibmacro{pageref}% \newunit\newblock - \iftoggle{cms@related}% + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newunit}% @@ -2467,8 +3810,15 @@ togl {cms@url}% and not test {\iffieldundef{urlyear}}% + }% + {\printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% }% - {\printurldate}% Date fix + {\newcunit\printurltime}% + {}}% Date fix {}% \iffieldundef{addendum}% Punctuation fixes in 0.9.9c {\newunit\newblock}% @@ -2613,6 +3963,7 @@ \newbibmacro*{mtitle+mstitle+vol+part+btitle+bstitle}{% \usebibmacro{btitle+bstitle}% + \newunit% MT Fix \iffieldundef{maintitle}% {}% {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR% @@ -2637,8 +3988,10 @@ \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}} -\newbibmacro*{journal+issue+year+pages}{% - \usebibmacro{cjournal+ser+vol+num}% +\newbibmacro*{journal+issue+year+pages}{% 17th ed. eid changes + \ifentrytype{periodical}% + {\usebibmacro{cperiodical+ser+vol+num}}% + {\usebibmacro{cjournal+ser+vol+num}}% \ifboolexpr{% 16th ed. test {\iffieldundef{issue}}% and @@ -2647,11 +4000,11 @@ not togl {cms@switchdates}% }% {\iffieldundef{number}% - {\iffieldundef{bookpagination}% + {\ifthenelse{\iffieldundef{bookpagination}\AND\iffieldundef{eid}}% {\setunit{\postvolpunct}}% {\setunit{\addcolon\addspace}}% - \printfield{pages}}% - {\newcunit\printfield{pages}}}% + \usebibmacro{eid+or+pages}}% + {\newcunit\usebibmacro{eid+or+pages}}}% {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. {\newcunit% \iffieldundef{issue}% @@ -2659,7 +4012,7 @@ {\printfield{issue}% \setunit{\addspace}% \usebibmacro{cmsyear}}% - \newcunit\printfield{pages}}% + \newcunit\usebibmacro{eid+or+pages}}% {\setunit{\addspace}% \printtext[parens]{% \iffieldundef{issue}% @@ -2668,40 +4021,12 @@ \setunit{\addspace}% \usebibmacro{cmsyear}}}% \setunit{\addcolon\addspace}% - \printfield{pages}}}} + \usebibmacro{eid+or+pages}}}} -\newbibmacro*{periodical+issue+year+pages}{% - \usebibmacro{cperiodical+ser+vol+num}% - \ifboolexpr{% 16th ed. - test {\iffieldundef{issue}}% - and - test {\iffieldundef{year}}% - and - not togl {cms@switchdates}% - }% - {\iffieldundef{number}% - {\iffieldundef{bookpagination}% - {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}% - \printfield{pages}}% - {\newcunit\printfield{pages}}}% - {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. - {\newcunit% - \iffieldundef{issue}% - {\usebibmacro{number+or+month}}% - {\printfield{issue}% - \setunit{\addspace}% - \usebibmacro{cmsyear}}% - \newcunit\printfield{pages}}% - {\setunit{\addspace}% - \printtext[parens]{% - \iffieldundef{issue}% - {\usebibmacro{number+or+month}}% - {\printfield{issue}% - \setunit{\addspace}% - \usebibmacro{cmsyear}}}% - \setunit{\addcolon\addspace}% - \printfield{pages}}}} +\newbibmacro*{eid+or+pages}{% + \iffieldundef{eid}% + {\printfield{pages}}% + {\printfield{eid}}} \newbibmacro*{bycompiler}{% \ifnameundef{namec}% @@ -2852,14 +4177,716 @@ \usebibmacro{editorpunct}% \usebibmacro{withafterword}} +%%%% New date macros enabling special handling of seasons, decades, +%%%% centuries, date eras, and uncertain dates (circa and ?), along +%%%% with CMS compression of year ranges. + +\newcount\cms@tempcnta +\newcount\cms@tempcntb + +\protected\def\cmsunspecified#1#2{% + \ifboolexpr{% + test {\iffieldundef{#2dateunspecified}}% + or + togl {cms@alwaysrange}% + }% + {\ifboolexpr{% + test {\iffieldundef{#2endyear}}% + or + test {\iffieldequalstr{#2dateera}{bce}}% + or + not togl {cms@compyears}% + or + not test {\iffieldnum{#2year}}% + or + not test {\iffieldnum{#2endyear}}% + or + not test {\if@cms@onlyyears{#2}}% + }% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}% + {\cmscompcenturies{#2}% + \ifboolexpr{% + ( + test {\if@cms@bracket}% + and + not test {\if@cms@endbracket} + ) + or + ( + not test {\if@cms@bracket}% + and + test {\if@cms@endbracket}% + ) + or + ( + test {\if@cms@endcirca}% + and + not test {\if@cms@circa}% + ) + or + not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}% + }% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearindecade}}% + and + test {\ifbibstring{decade}}% + and + not togl {cms@decaderange}% + }% + {\cmsmkdecade{#1}{#2}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearincentury}}% + and + test {\ifbibstring{century}}% + and + not togl {cms@centuryrange}% + }% + {\cmsmkcentury{#2}}% + {\iftoggle{cms@compyears}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}% + +\protected\def\cmscompressyears#1{% + \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}% + \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}% + \cms@tempb}% + +\def\cmscompcenturies#1{% + \cms@tempcnta=\thefield{#1year}% + \divide\cms@tempcnta100 + \cms@tempcntb=\thefield{#1endyear}% + \divide\cms@tempcntb100} + +\protected\def\cmsformatextra{}% Author-date requires these + +\protected\def\cmsformatendextra{}% + +\newbibmacro*{cmsextradate}{}% + +\newbibmacro*{cmsparensextradate}{}% + +\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language + \ifdefstring\blx@dateera{astronomical}% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifnumless{0-\thefield{#1}}{0}% + {\printtext{\csuse{bibdateera\blx@tempa prefix}}}% + {}}% + {}% + \endgroup}% + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\ifdefstring\blx@tempa{end}% + {\iftoggle{cms@bc}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}% + {}}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}}% + {}}% + \endgroup}% + {}}% + {}}} + +\protected\def\cmsdateeraprint#1{% AD/BC order depends on language + \ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1} + {\begingroup + \let\blx@tempa\@empty + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype + \def\blx@tempa{end}} + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}}}% + {}% + \endgroup} + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{secular}}% + or + ( + test {\ifdefstring\blx@dateera{christian}}% + and + not test {\if@cms@adfirst}% + ) + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}}}% + {\ifdefstring\blx@tempa{end}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}}% + {}}% + {\csuse{if\blx@datetype enddateera}{ce}% + {}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}}% + {}}}}% + \endgroup}% + {}}% + {}}} + +\newrobustcmd*{\cms@datebrackets}{% + \iftoggle{cms@nodatebrackets}% + {\global\boolfalse{cms:bracket}% + \ifboolexpr{% + test {\if@cms@bracket}% + and + togl {cms@nodates}% + and + not bool {cms:nd}% + }% + {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}% + {\boolfalse{cms:nd}}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@yearbrackets}{% + \iftoggle{cms@noyearbrackets}% + {\global\boolfalse{cms:bracket}% + \ifboolexpr{% + test {\if@cms@bracket}% + and + togl {cms@nodates}% + and + not bool {cms:nd} + }% + {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}% + {\boolfalse{cms:nd}}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifdateyearsequal{#2}{#2end}% + {\iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{}{}{#2day}}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#2endyear}% + {\iffieldundef{#2endmonth}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\bibdaterangesep% + \csuse{mkbibseasondate#1}{}{#2endseason}}}% + {\bibdaterangesep% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdatedash% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkbibrangefull}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \ifboolexpr{% + test {\ifdateyearsequal{#2}{#2end}}% + and + test {\iffieldundef{#2month}}% + and + test {\iffieldundef{#2day}}% + }% + {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\cmsdateeraprint{#2year}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdaterangesep% + \iffieldundef{#2endseason}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkyearrangeextra}[3][]{% + \begingroup + \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% + \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \blx@metadateinfo{#3}% + \iffieldundef{#3year} + {\blx@nounit}% + {\printtext{% + \if@cms@bracket% + {\cms@yearbrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \ifdateyearsequal{#3}{#3end}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}% + \clearfield{#3endyear}}% + {\ifblank{#1}% + {\cmsunspecified{#2}{#3}}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#3endyear} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\iffieldequalstr{#3endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@yearbrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}% + \csuse{mkbibdate#2}{#3endyear}{}{}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#3endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#3endyear}}}% + {\if@cms@enduncertain% + {\bibdateuncertain}% + {}% + \cmsdateeraprint{#3endyear}}}}}}% + \endgroup}% + +\def\if@cms@adfirst{% + \ifboolexpr{% + test {\ifdefstring\blx@languagename{american}}% + or + test {\ifdefstring\blx@languagename{british}}% + or + test {\ifdefstring\blx@languagename{canadian}}% + or + test {\ifdefstring\blx@languagename{english}}% + or + test {\ifdefstring\blx@languagename{UKenglish}}% + or + test {\ifdefstring\blx@languagename{USenglish}}% + or + test {\ifdefstring\blx@languagename{australian}}% + or + test {\ifdefstring\blx@languagename{newzealand}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@bracket{% + \ifboolexpr{% + ( + test {\ifdatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endbracket{% + \ifboolexpr{% + ( + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@circa{% + \ifboolexpr{% + test {\ifdatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@uncertain{% + \ifboolexpr{% + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endcirca{% + \ifboolexpr{% + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@enduncertain{% + \ifboolexpr{% + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@onlyyears#1{% + \ifboolexpr{% + test {\iffieldundef{#1month}}% + and + test {\iffieldundef{#1endmonth}}% + and + test {\iffieldundef{#1day}}% + and + test {\iffieldundef{#1endday}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + %%%% Related functionality from standard.bbx %%%% \newcounter{bbx:relatedcount} \newcounter{bbx:relatedtotal} +\newcounter{cms@reviewcount}% +\newcounter{cms@currentnote}% \newbibmacro*{related:init}{% \csundef{bbx:relatedloop}} +\newbibmacro*{related:mtpunct}{% + \iftoggle{cms@mtvolpunct}% + {\newcunit\newblock}% + {\newunit\newblock}} + +\newbibmacro*{related:mtsave}{% + \iffieldundef{pages}{}{\savefield*{pages}{\cms@mtpages}}% + \iffieldundef{bookpagination}{}{\savefield*{bookpagination}% + {\cms@mtpagination}}% + \iffieldundef{chapter}{}{\savefield*{chapter}{\cms@mtchapter}}}% + +\newbibmacro*{mt+mvnames+save}{% + \ifnameundef{author}{}{\savename*{author}{\cms@mtauthor}}% + \ifnameundef{editor}{}{\savename*{editor}{\cms@mteditor}}% + \ifnameundef{translator}{}{\savename*{translator}{\cms@mttranslator}}% + \ifnameundef{namec}{}{\savename*{namec}{\cms@mtnamec}}}% + +\newbibmacro*{related:noterefhelper}{% + \iftoggle{cms@noterefs}% + {\iftoggle{cms@endnote}% + {\ifnumequal{\value{cms@currentnote}}{\value{endnote}}% + {}% + {\csxdef{cms@parent@instcount}{\the\value{instcount}}% + \ifcsdef{cms@chap@\thefield{entrykey}}% + {\csxdef{cms@parent@chap}{\csuse{cms@chap@\thefield{entrykey}}}}% + {}% + \ifcsdef{cms@sec@\thefield{entrykey}}% + {\csxdef{cms@parent@sec}{\csuse{cms@sec@\thefield{entrykey}}}}% + {}% + \setcounter{cms@currentnote}{\value{endnote}}% + \def\cms@templista{}% + \def\cms@templistb{}}}% + {\ifnumequal{\value{cms@currentnote}}{\value{footnote}}% + {}% + {\csxdef{cms@parent@instcount}{\the\value{instcount}}% + \ifcsdef{cms@chap@\thefield{entrykey}}% + {\csxdef{cms@parent@chap}{\csuse{cms@chap@\thefield{entrykey}}}}% + {}% + \ifcsdef{cms@sec@\thefield{entrykey}}% + {\csxdef{cms@parent@sec}{\csuse{cms@sec@\thefield{entrykey}}}}% + {}% + \setcounter{cms@currentnote}{\value{footnote}}% + \def\cms@templista{}% + \def\cms@templistb{}}}% + \def\do##1{% + \entrydata{##1}{% + \listxadd\cms@templista{\strfield{clonesourcekey}}% + \listxadd\cms@templistb{\strfield{crossref}}% + \listxadd\cms@templistb{\strfield{xref}}}}% + \docsvfield{related}% + \def\do##1{% + \xifinlistcs{##1}{blx@bsee@\the\c@refsection}% + {\iftoggle{cms@relreview}% + {}% + {\csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}% + \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}% + \csxdef{cms@invl@##1}% + {\the\value{\csuse{cms@noteref@interval}}}% + \ifcsdef{cms@parent@chap}% + {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}% + {}% + \ifcsdef{cms@parent@sec}% + {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}% + {}}}% + {\iftoggle{cms@relreview}% + {}% + {\listcsxadd{blx@bsee@\the\c@refsection}{##1}}% + \csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}% + \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}% + \csxdef{cms@invl@##1}% + {\the\value{\csuse{cms@noteref@interval}}}% + \ifcsdef{cms@parent@chap}% + {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}% + {}% + \ifcsdef{cms@parent@sec}% + {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}% + {}}% + }% + \dolistloop{\cms@templista}% + \def\do##1{% + \csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}% + \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}% + \csxdef{cms@invl@##1}% + {\value{\csuse{cms@noteref@interval}}}% + \ifcsdef{cms@parent@chap}% + {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}% + {}% + \ifcsdef{cms@parent@sec}% + {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}% + {}% + }% + \ifdefvoid{\cms@templistb}{}{\dolistloop{\cms@templistb}}}% + {}}% + \newbibmacro*{begrelated}{\ifcsdef{bbx@lasthash}% {\let\cms@related@hash\bbx@lasthash}{}}% \newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}% @@ -2875,7 +4902,10 @@ \newbibmacro*{related}{% \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }% {}% - {\usebibmacro{begrelated}% + {\ifcsundef{begrelateddelim\strfield{relatedtype}}% + {\printunit{\begrelateddelim}}% + {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}% + \usebibmacro{begrelated}% \def\bbx@tempa{}% \setcounter{bbx:relatedtotal}{0}% \def\do##1{% @@ -2895,7 +4925,13 @@ \def\do{% \stepcounter{bbx:relatedcount}% \ifnumgreater{\value{bbx:relatedcount}}{1}% - {\printtext{\relateddelim}}% + {\ifcsundef{relateddelim\strfield{relatedtype}}% + {\printunit{\relateddelim}}% + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\printunit + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter{% + \csuse{relateddelim\strfield{relatedtype}}}}}% {}}% \ifbibmacroundef{related:\strfield{relatedtype}}% {\appto{\do}{\usebibmacro{related:default}}}% @@ -2929,4 +4965,272 @@ {}% \usebibmacro{endrelated}}}% +%%% List of all CMS bibliography strings %%% + +\NewBibliographyString{% + afterwordto,% + broadcast,% + by,% + bychoreographer,% + bycompileraf,% + bycompileran,% + bycompileranaf,% + bycompileranfo,% + bycompileranin,% + bycompilerco,% + bycompilercoaf,% + bycompilercofo,% + bycompilercoin,% + bycompilerfo,% + bycompilerin,% + byconductor,% + bydirector,% + byeditoralt,% + byeditorcp,% + byeditorcpaf,% + byeditorcpan,% + byeditorcpanaf,% + byeditorcpanfo,% + byeditorcpanin,% + byeditorcpco,% + byeditorcpcoaf,% + byeditorcpcofo,% + byeditorcpcoin,% + byeditorcpfo,% + byeditorcpin,% + byeditortrcp,% + byeditortrcpaf,% + byeditortrcpan,% + byeditortrcpanaf,% + byeditortrcpanfo,% + byeditortrcpanin,% + byeditortrcpco,% + byeditortrcpcoaf,% + byeditortrcpcofo,% + byeditortrcpcoin,% + byeditortrcpfo,% + byeditortrcpin,% + bynone,% + byproducer,% + bytranslatorcp,% + bytranslatorcpaf,% + bytranslatorcpan,% + bytranslatorcpanaf,% + bytranslatorcpanfo,% + bytranslatorcpanin,% + bytranslatorcpco,% + bytranslatorcpcoaf,% + bytranslatorcpcofo,% + bytranslatorcpcoin,% + bytranslatorcpfo,% + bytranslatorcpin,% + canadasection,% + canadasections,% + cbyannotator,% + cbyauthor,% + cbychoreographer,% + cbycollaborator,% + cbycommentator,% + cbycompiler,% + cbycompileraf,% + cbycompileran,% + cbycompileranaf,% + cbycompileranfo,% + cbycompileranin,% + cbycompilerco,% + cbycompilercoaf,% + cbycompilercofo,% + cbycompilercoin,% + cbycompilerfo,% + cbycompilerin,% + cbyconductor,% + cbycontinuator,% + cbydirector,% + cbyeditor,% + cbyeditoraf,% + cbyeditoralt,% + cbyeditoran,% + cbyeditoranaf,% + cbyeditoranfo,% + cbyeditoranin,% + cbyeditorco,% + cbyeditorcoaf,% + cbyeditorcofo,% + cbyeditorcoin,% + cbyeditorcp,% + cbyeditorcpaf,% + cbyeditorcpan,% + cbyeditorcpanaf,% + cbyeditorcpanfo,% + cbyeditorcpanin,% + cbyeditorcpco,% + cbyeditorcpcoaf,% + cbyeditorcpcofo,% + cbyeditorcpcoin,% + cbyeditorcpfo,% + cbyeditorcpin,% + cbyeditorfo,% + cbyeditorin,% + cbyeditortr,% + cbyeditortraf,% + cbyeditortran,% + cbyeditortranaf,% + cbyeditortranfo,% + cbyeditortranin,% + cbyeditortrco,% + cbyeditortrcoaf,% + cbyeditortrcofo,% + cbyeditortrcoin,% + cbyeditortrcp,% + cbyeditortrcpaf,% + cbyeditortrcpan,% + cbyeditortrcpanaf,% + cbyeditortrcpanfo,% + cbyeditortrcpanin,% + cbyeditortrcpco,% + cbyeditortrcpcoaf,% + cbyeditortrcpcofo,% + cbyeditortrcpcoin,% + cbyeditortrcpfo,% + cbyeditortrcpin,% + cbyeditortrfo,% + cbyeditortrin,% + cbyfounder,% + cbynone,% + cbyorganizer,% + cbyproducer,% + cbyredactor,% + cbytranslator,% + cbytranslatoraf,% + cbytranslatoran,% + cbytranslatoranaf,% + cbytranslatoranfo,% + cbytranslatoranin,% + cbytranslatorco,% + cbytranslatorcoaf,% + cbytranslatorcofo,% + cbytranslatorcoin,% + cbytranslatorcp,% + cbytranslatorcpaf,% + cbytranslatorcpan,% + cbytranslatorcpanaf,% + cbytranslatorcpanfo,% + cbytranslatorcpanin,% + cbytranslatorcpco,% + cbytranslatorcpcoaf,% + cbytranslatorcpcofo,% + cbytranslatorcpcoin,% + cbytranslatorcpfo,% + cbytranslatorcpin,% + cbytranslatorfo,% + cbytranslatorin,% + century,% + cfromamerican,% + cfrombrazilian,% + cfrombulgarian,% + cfromcatalan,% + cfromcroatian,% + cfromczech,% + cfromdanish,% + cfromdutch,% + cfromenglish,% + cfromestonian,% + cfromfinnish,% + cfromfrench,% + cfromgalician,% + cfromgerman,% + cfromgreek,% + cfromitalian,% + cfromjapanese,% + cfromlatin,% + cfromnorwegian,% + cfrompolish,% + cfromportuguese,% + cfromrussian,% + cfromslovak,% + cfromslovene,% + cfromspanish,% + cfromswedish,% + cfromukrainian,% + choreographer,% + choreographers,% + commenton,% + conductor,% + conductors,% + decade,% + director,% + directors,% + discrecorded,% + edamerican,% + edbrazilian,% + edbulgarian,% + edcatalan,% + edcroatian,% + edczech,% + eddanish,% + eddutch,% + edenglish,% + edestonian,% + edfinnish,% + edfrench,% + edgalician,% + edgerman,% + edgreek,% + editalian,% + editorcompiler,% + editorcompilers,% + editortranscompiler,% + editortranscompilers,% + editortranslator,% + editortranslators,% + edjapanese,% + edlatin,% + ednorwegian,% + edpolish,% + edportuguese,% + edrussian,% + edslovak,% + edslovene,% + edspanish,% + edswedish,% + edukrainian,% + forewordto,% + hereinafter,% + inlang,% + introductionto,% + none,% + nones,% + note,% + numbers,% + of,% + on,% + origedition,% + origpub,% + origpublin,% + origpubyear,% + origpubyearalt,% + origreleaseyear,% + origshownyear,% + partvolume,% + patentfiled,% + patentissued,% + preface,% + printed,% + producer,% + producers,% + pseudonym,% + review,% + revisededition,% + selfpublished,% + songrecorded,% + subsection,% + subsections,% + subverbis,% + subverbo,% + supranote,% + track,% + transcompiler,% + transcompilers% + }% + \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx index 2839e02015b..82f4a000d69 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx @@ -1,23 +1,27 @@ -% $Id: chicago-notes.cbx,v 0.11.1.33 2018/01/10 16:41:54 dfussner Exp $ +% This is a biblatex citation style file, originally adapted from +% Lehman's authortitle-cverb.cbx. It is heavily modified, with the +% intention of providing footnote citations and a bibliography +% formatted according to the specifications of the Chicago Manual of +% Style. -% This is a biblatex citation style file, adapted from Lehman's -% authortitle-cverb.cbx. It is heavily modified, with the intention -% of providing footnote citations and a bibliography formatted -% according to the specifications of the Chicago Manual of Style. - -\ProvidesFile{chicago-notes.cbx}[2018/01/10 v 3.10 biblatex citation style] +\ProvidesFile{chicago-notes.cbx}[2020/04/20 v 3.14 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% +\newbool{cms:bracket}% Date-handling booleans +\newbool{cms:extraparens} +\newbool{cms:comma} +\newbool{cms:nd} + \providecommand*{\mkibid}[1]{#1} \providetoggle{cms@oneyear}% Needed for author-date -\providetoggle{cms@reprint}% ditto \providetoggle{cms@switchdates}% ditto \providetoggle{cms@jrcomma}% For comma before Jr./Sr. \providetoggle{cms@url}% These are for the field-exclusion options +\providetoggle{cms@urltime}% 17th ed. \providetoggle{cms@doi} \providetoggle{cms@doionly} \providetoggle{cms@eprint} @@ -25,14 +29,27 @@ \providetoggle{cms@numbermonth} \providetoggle{cms@bookpages} \providetoggle{cms@hidevolumes}% Modify volume fix +\providetoggle{cms@mtvolpunct} \providetoggle{cms@bookseries} +\providetoggle{cms@citeshser}% For shortseries +\providetoggle{cms@bibshser} \providetoggle{cms@notefield} \providetoggle{cms@addendum} \providetoggle{cms@comprange} +\providetoggle{cms@compyears} \providetoggle{cms@modpostnote} \providetoggle{cms@url@innotes} \providetoggle{cms@ukord} +\providetoggle{cms@bc}% Attempt to provide correct dateera handling +\providetoggle{cms@alwaysrange}% Turns off decade and century handling +\providetoggle{cms@decaderange}% Only turns off decade handling +\providetoggle{cms@centuryrange}% Only turns off century handling +\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa +\providetoggle{cms@noyearbrackets}% +\providetoggle{cms@nodates}% + +\providetoggle{cms@strict} \providetoggle{cms@headlessnote} \providetoggle{cms@origcite} \providetoggle{cms@fullnote} @@ -40,6 +57,8 @@ \providetoggle{cms@allshort} \providetoggle{cms@noibid} \providetoggle{cms@noidem} +\providetoggle{cms@namedash} +\providetoggle{cms@useibid} \providetoggle{cms@usecompiler} \providetoggle{cms@shorthandibid} \providetoggle{cms@printshhand} @@ -53,6 +72,15 @@ \providetoggle{cms@legalnotes}% For legal types \providetoggle{cms@supranotes}% Ditto \providetoggle{cms@noneshort}% Ditto +\providetoggle{cms@running@text}% For Jurisdiction entries +\providetoggle{cms@noterefs}% Backrefs inside notes +\providetoggle{cms@forcenoteref}% For shortrefcite command +\providetoggle{cms@zeropages}% For replacing zero sections +\providetoggle{cms@hidezeros}% Ditto, but differently +\providetoggle{cms@fullrefs}% Force printing of sec. no. w/in same sec. +\providetoggle{cms@ensplit}% Split endnotes w/o cmsendnotes +\providetoggle{cms@endnote}% Distinguish foot- and endnotes +\providetoggle{cms@relreview}% \providetoggle{cms@vol} \providetoggle{cms@postvol} \providetoggle{cms@usedvol} @@ -64,6 +92,7 @@ \providetoggle{cms@xrefpart} \providetoggle{cms@omitxrefdate} \providetoggle{cms@xrefurl} +\providetoggle{cms@blogurl}% For 17th ed. blogs w/ comments \providetoggle{cms@related} \providetoggle{cms@citerel} \providetoggle{cms@gencite} @@ -75,9 +104,6 @@ {\nocite{\thefield{userc}}}% \global\togglefalse{cms@loccit}% \global\csundef{@cmsst}% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}% \ifboolexpr{% test {\iffieldundef{origyear}}% or @@ -108,47 +134,703 @@ \PackageWarningNoLine{biblatex-chicago}{#1}% \endgroup} -\DeclareBibliographyOption[boolean]{genallnames}[true]{% - \settoggle{cms@genallnames}{#1}} +%% These are options for extended date attributes + +\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{% + \settoggle{cms@alwaysrange}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{% + \settoggle{cms@decaderange}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{% + \settoggle{cms@centuryrange}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{% + \settoggle{cms@nodatebrackets}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{% + \settoggle{cms@noyearbrackets}{#1}}% -\DeclareEntryOption[boolean]{genallnames}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{nodates}[true]{% + \settoggle{cms@nodates}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{% \settoggle{cms@genallnames}{#1}} \DeclareBibliographyOption{annotation}[true]{% \global\toggletrue{cms@annotation}} -\DeclareBibliographyOption{noibid}[true]{% +\DeclareBibliographyOption[boolean]{noibid}[true]{% \global\toggletrue{cms@noibid}} +\DeclareBibliographyOption[boolean]{useibid}[true]{% + \global\toggletrue{cms@useibid}} + +\DeclareBibliographyOption[boolean]{dashed}[true]{% + \settoggle{cms@namedash}{#1}} + \DeclareBibliographyOption[boolean]{short}[true]{% \global\settoggle{cms@allshort}{#1}} +\DeclareBibliographyOption[boolean]{hidezeros}[true]{% + \global\settoggle{cms@hidezeros}{#1}} + +\DeclareEntryOption[boolean]{hidezeros}[true]{% + \settoggle{cms@hidezeros}{#1}} + +\DeclareBibliographyOption[boolean]{pagezeros}[true]{% + \global\settoggle{cms@zeropages}{#1}} + +\DeclareEntryOption[boolean]{pagezeros}[true]{% + \settoggle{cms@zeropages}{#1}} + +\DeclareBibliographyOption[boolean]{endnotesplit}[true]{% + \global\settoggle{cms@ensplit}{#1}} + +\DeclareBibliographyOption[integer]{noterefinterval}[0]{% + \gdef\cms@note@distance{#1}}% + +\DeclareBibliographyOption[string]{noterefintro}[preface]{% + \def\cms@note@introname{#1}}% + +\DeclareBiblatexOption{global}[boolean]{fullnoterefs}[true]{% + \global\settoggle{cms@fullrefs}{#1}}% + +\DeclareBibliographyOption[string]{noteref}[none]{% + \global\toggletrue{cms@noterefs}% + \ifcsdef{cms@opt@noterefs@#1}% + {\letcs\cms@noteref@casenum{cms@opt@noterefs@#1}% + \def\cms@noteref@interval{#1}% + \def\cms@note@distance{0}}% + {\blx@err@invopt{noteref=#1}{}}}% +\def\cms@opt@noterefs@none{0}% +\def\cms@opt@noterefs@part{1}% +\def\cms@opt@noterefs@chapter{2}% +\def\cms@opt@noterefs@section{3}% +\def\cms@opt@noterefs@subsection{4}% +\def\cms@opt@noterefs@page{5}% + +\newbibmacro*{noteref+interval}{% + \ifcase\cms@noteref@casenum% 0 + \cms@noteref{none}% + \or % 1 + \cms@noteref{part}% + \or % 2 + \cms@noteref{chapter}% + \or % 3 + \cms@noteref{section}% + \or % 4 + \cms@noteref{subsection}% + \or % 5 + \cms@noteref{page}% + \fi} + +\newrobustcmd*{\cms@noteref}[1]{% + \ifcsundef{cms@recent@\thefield{entrykey}}% + {\cms@warning@noline% + {I can't find a long citation of\MessageBreak + the entry \thefield{entrykey}.\MessageBreak + Most likely the initial citation\MessageBreak + did not occur inside a note, or\MessageBreak + perhaps you used a \citejournal\MessageBreak + command for it. Biblatex-chicago\MessageBreak + won't be able to generate a back\MessageBreak + reference to it}}% + {\ifboolexpr{% + (( + test {\iffieldequalstr{relatedtype}{reviewof}}% + or + test {\iffieldequalstr{relatedtype}{commenton}}% 17th ed. + ) + and + ( + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + ( + test {\ifentrytype{online}}% 17th ed. + and + test {\IfBeginWith{\thefield{title}}{CCCCCC}}% + ))) + or + ( + test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}% + and + test {\IfBeginWith{\thefield{entrytype}}{mv}}% + ) + }% + {\csdef{cms@tempcounta}{\value{cms@reviewcount}}}% + {\csdef{cms@tempcounta}{\value{instcount}}}% + \ifboolexpr{% + test {\ifsamepage{\csuse{cms@tempcounta}}%{\the\value{instcount}} + {\csuse{cms@recent@\thefield{entrykey}}}}% Replaces cbx@f@... + and + not togl {cms@forcenoteref}% + }% + {}% + {\ifboolexpr{% + test {\ifnumless{\csuse{cms@tempcounta} - + \csuse{cms@recent@\thefield{entrykey}}}% + {\csuse{cms@note@distance}}}% + and + not togl {cms@forcenoteref}% + }% + {}% + {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{0}% + {\setunit{\addspace\bibopenparen}% + \bibsstring{seenote}\addnbspace + \printtext{\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}% + \bibcloseparen}% + {\ifboolexpr{% + ( + not test {\ifcsvoid{cms@end@split}}% + and + togl {cms@endnote}% + ) + or + togl {cms@ensplit}% + or + test {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{5}}% + }% + {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{5}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}\addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\iftoggle{cms@ensplit}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \getrefbykeydefault{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + {name}{}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \StrCut{% + \getrefbykeydefault{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + {name}{}}{\ }{\cms@AA}{\cms@BB}% + \ifcsvoid{cms@BB}% + {}% + {\StrLeft{\expandafter\string\cms@BB}{5}[\cms@CC]% + \StrGobbleLeft{\expandafter\string\cms@CC}{1}[\cms@CC]}% + \ifboolexpr{% + test {\ifcsvoid{cms@BB}}% + or + test {\ifdefstring{\cms@CC}{zeri}}% + }% + {\ifcsvoid{cms@BB}% + {\ifbibxstring{\csuse{cms@note@introname}}% + {\bibsstring{\csuse{cms@note@introname}}}% + {\csuse{cms@note@introname}}}% + {\ifbibxstring{\csuse{cms@note@introname}}% + {\bibsstring{\csuse{cms@note@introname}}% + \addcomma\addspace\cms@BB}% + {\csuse{cms@note@introname}% + \addcomma\addspace\cms@BB}}}% + {\ifcsvoid{cms@end@subheadername}% + {\ifbibxstring{\csuse{cms@end@split}}% + {\bibsstring{\csuse{cms@end@split}}\addnbspace\cms@BB}% + {\csuse{cms@end@split}\addnbspace\cms@BB}}% + {\ifbibxstring{\csuse{cms@end@subheadername}}% + {\bibsstring{\csuse{cms@end@subheadername}}% + \addnbspace\cms@BB}% + {\csuse{cms@end@subheadername}\addnbspace\cms@BB}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\ifnumless{\csuse{cms@opt@noterefs@#1}}{3}% + {\ifboolexpr{% + test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}% + {\csuse{cms@invl@\thefield{entrykey}}}}% + or + togl {cms@fullrefs}% + }% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}% + {\ifcsundef{cms@note@introname}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{\csuse{cms@noteref@interval}}\addnbspace% + \printtext{\csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \printtext[nr#1]{\csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \printtext{\bibsstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}% + \bibcloseparen}}% + {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{3}% + {\ifundef{\chapter}% + {\ifboolexpr{% + test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}% + {\csuse{cms@invl@\thefield{entrykey}}}}% + or + togl {cms@fullrefs}% + }% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}% + {\ifcsundef{cms@note@introname}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \printtext{\bibsstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}% + \bibcloseparen}}% + {\ifboolexpr{% + test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}% + {\csuse{cms@invl@\thefield{entrykey}}}}% + or + test {\ifnumcomp{\value{chapter}}{>}% + {\csuse{cms@chap@\thefield{entrykey}}}}% + or + togl {cms@fullrefs}% + }% + {\ifnumequal{\csuse{cms@chap@\thefield{entrykey}}}{0}% + {\ifcsundef{cms@note@introname}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\iftoggle{cms@hidezeros}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{% + \csuse{cms@chap@\thefield{entrykey}}.% + 1\addnbspace\mkbibparens{\cmspref}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\setunit{\addspace\bibopenparen}% + \printtext{\bibsstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}% + \bibcloseparen}}}% + {\ifundef{\chapter}% + {\ifboolexpr{% + test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}% + {\csuse{cms@invl@\thefield{entrykey}}}}% + or + test {\ifnumcomp{\value{section}}{>}% + {\csuse{cms@sec@\thefield{entrykey}}}}% + or + togl {cms@fullrefs}% + }% + {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}{0}% + {\ifcsundef{cms@note@introname}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\iftoggle{cms@hidezeros}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{% + \csuse{cms@sec@\thefield{entrykey}}.% + 1\addnbspace\mkbibparens{\cmspref}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\setunit{\addspace\bibopenparen}% + \printtext{\bibsstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}% + \bibcloseparen}}% + {\ifboolexpr{% + test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}% + {\csuse{cms@invl@\thefield{entrykey}}}}% + or + test {\ifnumcomp{\value{chapter}}{>}% + {\csuse{cms@chap@\thefield{entrykey}}}}% + or + test {\ifnumcomp{\value{section}}{>}% + {\csuse{cms@sec@\thefield{entrykey}}}}% + or + togl {cms@fullrefs}% + }% + {\ifnumequal{\csuse{cms@chap@\thefield{entrykey}}}{0}% + {\ifcsundef{cms@note@introname}% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\ifboolexpr{% + test + {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}% + {0}}% + and + test + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}% + {0}}% + }% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\ifboolexpr{% + togl {cms@zeropages}% + and + ( + test + {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}% + {0}}% + or + test + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}% + {0}}% + ) + }% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \cms@ifcsstring{cms@note@introname}\newcunit% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}}% + {\ifboolexpr{% + test + {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}{0}}% + or + test + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}}% + }% + {\iftoggle{cms@zeropages}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace\bibsstring{page}% + \addnbspace% + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\iftoggle{cms@hidezeros}% + {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}% + {0}% + {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}% + {0}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{% + \csuse{cms@chap@\thefield{entrykey}}.% + 1\addnbspace\mkbibparens{\cmspref}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{% + \csuse{cms@chap@\thefield{entrykey}}.% + \cmspref\adddot% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{% + \csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@sec@\thefield{entrykey}}.% + 1\addnbspace\mkbibparens{\cmspref}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\setunit{\addspace\bibopenparen}% + \bibstring{see}\addnbspace% + \bibsstring{section}\addnbspace% + \printtext{\csuse{cms@chap@\thefield{entrykey}}.% + \csuse{cms@sec@\thefield{entrykey}}.% + \csuse{cms@invl@\thefield{entrykey}}}% + \newcunit% + \bibsstring{note}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \bibcloseparen}}}% + {\setunit{\addspace\bibopenparen}% + \printtext{\bibsstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}% + \bibcloseparen}}}}}}% + \ifnumequal{\csuse{cms@tempcounta}}{\value{cms@reviewcount}}% + {\csxdef{cms@recent@\thefield{entrykey}}% + {\the\value{cms@reviewcount}}}% + {\csxdef{cms@recent@\thefield{entrykey}}{\the\value{instcount}}}}}}}% + +\newrobustcmd*{\cmspref}{pref.\@}% +\newrobustcmd*{\cmsintrosection}{\S}% + +\newrobustcmd*{\cms@ifcsstring}[1]{% + \ifbibxstring{\csuse{#1}}% + {\bibsstring{\csuse{#1}}}% + {\csuse{#1}}} + +\newrobustcmd*{\cms@save@locdata}[1]{% + \iftoggle{cms@noterefs}% + {\csxdef{cbx@f@\thefield{#1}}{\the\value{instcount}}% + \csxdef{cms@recent@\thefield{#1}}{\the\value{instcount}}% + \ifcase\cms@noteref@casenum% + \or% 1 + \csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}% + \or% 2 + \csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}% + \or% 3 + \ifundef{\chapter}% + {\csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}}% + {\csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}% + \csxdef{cms@chap@\thefield{#1}}{\the\value{chapter}}}% + \or% 4 + \ifundef{\chapter}% + {\csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}% + \csxdef{cms@sec@\thefield{#1}}{\the\value{section}}}% + {\csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}% + \csxdef{cms@sec@\thefield{#1}}{\the\value{section}}% + \csxdef{cms@chap@\thefield{#1}}{\the\value{chapter}}}% + \or% 5 + \csxdef{cms@invl@\thefield{#1}}% + {\the\value{\csuse{cms@noteref@interval}}}% + \fi}% + {}} + \DeclareBibliographyOption[boolean]{legalnotes}[true]{% \global\settoggle{cms@legalnotes}{#1}} -\DeclareBibliographyOption[boolean]{supranotes}[true]{% - \global\settoggle{cms@supranotes}{#1}} - -\DeclareEntryOption[boolean]{supranotes}[true]{% - \global\settoggle{cms@supranotes}{#1}} +\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{% + \settoggle{cms@supranotes}{#1}} -\DeclareBibliographyOption[boolean]{noneshort}[true]{% - \global\settoggle{cms@noneshort}{#1}} - -\DeclareTypeOption[boolean]{noneshort}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{noneshort}[true]{% \settoggle{cms@noneshort}{#1}} -\DeclareEntryOption[boolean]{noneshort}[true]{% - \settoggle{cms@noneshort}{#1}} - -\DeclareBibliographyOption{shorthandibid}[true]{% +\DeclareBibliographyOption[boolean]{shorthandibid}[true]{% \global\toggletrue{cms@shorthandibid}} -\DeclareBibliographyOption{shorthandfull}[true]{% +\DeclareBibliographyOption[boolean]{shorthandfull}[true]{% \settoggle{cms@fullshhand}{#1}} -\DeclareBibliographyOption{inheritshorthand}[true]{% - \settoggle{cms@inheritshhand}{#1} +\DeclareBibliographyOption[boolean]{inheritshorthand}[true]{% + \settoggle{cms@inheritshhand}{#1}% \iftoggle{cms@inheritshhand}% {\DeclareDataInheritance{*}{*}{% \inherit{shorthand}{shorthand} @@ -156,24 +838,16 @@ }}% {}}% -\DeclareBibliographyOption[boolean]{shorthandfirst}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{shorthandfirst}[true]{% \settoggle{cms@firstshort}{#1}} -\DeclareEntryOption[boolean]{shorthandfirst}[true]{% - \settoggle{cms@firstshort}{#1}} +\DeclareBibliographyOption[boolean]{compresspages}[true]{% + \global\settoggle{cms@comprange}{#1}}% -\DeclareBibliographyOption{compresspages}[true]{% - \ifcsdef{cms@opt@crange@#1}% - {\csuse{cms@opt@crange@#1}}% - {\blx@err@invopt{compresspages=#1}{}}}% -\def\cms@opt@crange@true{% - \global\toggletrue{cms@comprange}% - \setcounter{mincomprange}{100}% - \setcounter{mincompwidth}{10}% -}% -\def\cms@opt@crange@false{}% +\DeclareBibliographyOption[boolean]{compressyears}[true]{% + \global\settoggle{cms@compyears}{#1}}% -\DeclareBibliographyOption{postnotepunct}[true]{% +\DeclareBibliographyOption[string]{postnotepunct}[true]{% \ifcsdef{cms@opt@ppunct@#1}% {\csuse{cms@opt@ppunct@#1}}% {\blx@err@invopt{postnotepunct=#1}{}}}% @@ -181,25 +855,16 @@ \global\toggletrue{cms@modpostnote}}% \def\cms@opt@ppunct@false{}% -\DeclareBibliographyOption[boolean]{usecompiler}[true]{% - \settoggle{blx@usenamec}{#1}} - -\DeclareEntryOption[boolean]{usecompiler}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% \settoggle{blx@usenamec}{#1}} -\DeclareBibliographyOption{juniorcomma}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{% \settoggle{cms@jrcomma}{#1}} -\DeclareEntryOption{juniorcomma}[true]{% - \settoggle{cms@jrcomma}{#1}} - -\DeclareBibliographyOption{delayvolume}[true]{% - \settoggle{cms@postvol}{#1}} - -\DeclareEntryOption{delayvolume}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{delayvolume}[true]{% \settoggle{cms@postvol}{#1}} -\DeclareBibliographyOption{longcrossref}[false]{% +\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{% \ifcsdef{cms@opt@lxref@#1}% {\csuse{cms@opt@lxref@#1}}% {\blx@err@invopt{longcrossref=#1}{}}}% @@ -221,12 +886,7 @@ \togglefalse{cms@citecrossref}% \toggletrue{cms@bibcrossref}}% -\DeclareEntryOption{longcrossref}[false]{% - \ifcsdef{cms@opt@lxref@#1}% - {\csuse{cms@opt@lxref@#1}}% - {\blx@err@invopt{longcrossref=#1}{}}}% - -\DeclareBibliographyOption{booklongxref}[true]{% +\DeclareBiblatexOption{global,entry}[string]{booklongxref}[true]{% \ifcsdef{cms@opt@bklxref@#1}% {\csuse{cms@opt@bklxref@#1}}% {\blx@err@invopt{booklongxref=#1}{}}}% @@ -243,24 +903,16 @@ \togglefalse{cms@bookcitexref}% \toggletrue{cms@bookbibxref}}% -\DeclareEntryOption{booklongxref}[true]{% - \ifcsdef{cms@opt@bklxref@#1}% - {\csuse{cms@opt@bklxref@#1}}% - {\blx@err@invopt{booklongxref=#1}{}}}% - -\DeclareBibliographyOption{omitxrefdate}[true]{% - \settoggle{cms@omitxrefdate}{#1}}% - -\DeclareEntryOption{omitxrefdate}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{omitxrefdate}[true]{% \settoggle{cms@omitxrefdate}{#1}}% -\DeclareBibliographyOption[boolean]{xrefurl}[true]{% +\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{% \settoggle{cms@xrefurl}{#1}}% -\DeclareEntryOption[boolean]{xrefurl}[true]{% - \settoggle{cms@xrefurl}{#1}}% +\DeclareBibliographyOption[boolean]{blogurl}[true]{% + \settoggle{cms@blogurl}{#1}}% -\DeclareBibliographyOption[string]{journalabbrev}[false]{% +\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{% \ifcsdef{cms@opt@jtabb@#1}% {\csuse{cms@opt@jtabb@#1}}% {\csuse{cms@opt@jtabb@false}\cms@warning@noline% @@ -281,31 +933,43 @@ \togglefalse{cms@citejtabb}% \toggletrue{cms@bibjtabb}}% -\DeclareEntryOption[string]{journalabbrev}[false]{% - \ifcsdef{cms@opt@jtabb@#1}% - {\csuse{cms@opt@jtabb@#1}}% - {\csuse{cms@opt@jtabb@false}\cms@warning@noline% - {'journalabbrev=#1' isn't a valid option.\MessageBreak +\DeclareBiblatexOption{global,type,entry}[string]{seriesabbrev}[false]{% + \ifcsdef{cms@opt@shser@#1}% + {\csuse{cms@opt@shser@#1}}% + {\csuse{cms@opt@shser@false}\cms@warning@noline% + {'seriesabbrev=#1' isn't a valid option.\MessageBreak The default - 'false' - has been set.\MessageBreak Please see biblatex-chicago.pdf for valid\MessageBreak option keys}}}% +\def\cms@opt@shser@true{% + \toggletrue{cms@citeshser}% + \toggletrue{cms@bibshser}}% +\def\cms@opt@shser@false{% + \togglefalse{cms@citeshser}% + \togglefalse{cms@bibshser}}% +\def\cms@opt@shser@notes{% + \toggletrue{cms@citeshser}% + \togglefalse{cms@bibshser}}% +\def\cms@opt@shser@bib{% + \togglefalse{cms@citeshser}% + \toggletrue{cms@bibshser}}% \DeclareBibliographyOption[boolean]{ordinalgb}[true]{% \settoggle{cms@ukord}{#1}}% % The field-exclusion options % -\DeclareBibliographyOption[boolean]{urlnotes}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{urlnotes}[true]{% \settoggle{cms@url@innotes}{#1}}% -\DeclareEntryOption[boolean]{urlnotes}[true]{% - \settoggle{cms@url@innotes}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{% + \settoggle{cms@urltime}{#1}}% -\DeclareBibliographyOption{isbn}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{% \settoggle{cms@isbn}{#1}}% -\DeclareBibliographyOption{url}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{% \settoggle{cms@url}{#1}}% -\DeclareBibliographyOption{doi}[true]{% +\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{% \ifcsdef{cms@opt@doi@#1}% {\csuse{cms@opt@doi@#1}}% {\blx@err@invopt{doi=#1}{}}}% @@ -315,64 +979,35 @@ \togglefalse{cms@doi}}% \def\cms@opt@doi@only{% \toggletrue{cms@doionly}}% -\DeclareBibliographyOption{eprint}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% \settoggle{cms@eprint}{#1}}% -\DeclareBibliographyOption{numbermonth}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{% \settoggle{cms@numbermonth}{#1}}% -\DeclareBibliographyOption{bookpages}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{% \settoggle{cms@bookpages}{#1}}% -\DeclareBibliographyOption{includeall}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{% \settoggle{cms@isbn}{#1}% \settoggle{cms@url}{#1}% + \settoggle{cms@urltime}{#1}% 17th ed. \settoggle{cms@doi}{#1}% \settoggle{cms@eprint}{#1}% \settoggle{cms@numbermonth}{#1}% \settoggle{cms@bookpages}{#1}}% -\DeclareBibliographyOption{hidevolumes}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{% \settoggle{cms@hidevolumes}{#1}}% -\DeclareBibliographyOption{addendum}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{addendum}[true]{% \settoggle{cms@addendum}{#1}}% -\DeclareBibliographyOption{bookseries}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{bookseries}[true]{% \settoggle{cms@bookseries}{#1}}% -\DeclareBibliographyOption{notefield}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{notefield}[true]{% \settoggle{cms@notefield}{#1}}% \DeclareBibliographyOption{completenotes}[true]{% \settoggle{cms@addendum}{#1}% \settoggle{cms@bookseries}{#1}% \settoggle{cms@notefield}{#1}}% -\DeclareEntryOption{isbn}[true]{% - \settoggle{cms@isbn}{#1}}% -\DeclareEntryOption{url}[true]{% - \settoggle{cms@url}{#1}}% -\DeclareEntryOption{doi}[true]{% - \ifcsdef{cms@opt@doi@#1}% - {\iftoggle{cms@doi}% - {\togglefalse{cms@doi}% - \iftoggle{cms@doionly}% - {\togglefalse{cms@doionly}}% !! - {}}% - {\toggletrue{cms@doi}}% !! - \csuse{cms@opt@doi@#1}}% - {\blx@err@invopt{doi=#1}{}}}% -\DeclareEntryOption{eprint}[true]{% - \settoggle{cms@eprint}{#1}}% -\DeclareEntryOption{numbermonth}[true]{% - \settoggle{cms@numbermonth}{#1}}% -\DeclareEntryOption{bookpages}[true]{% - \settoggle{cms@bookpages}{#1}}% -\DeclareEntryOption{hidevolumes}[true]{% - \settoggle{cms@hidevolumes}{#1}}% - -\DeclareEntryOption{addendum}[true]{% - \settoggle{cms@addendum}{#1}}% -\DeclareEntryOption{bookseries}[true]{% - \settoggle{cms@bookseries}{#1}}% -\DeclareEntryOption{notefield}[true]{% - \settoggle{cms@notefield}{#1}}% - -\DeclareBibliographyOption[string]{related}[bib]{% +\DeclareBiblatexOption{global,type,entry}[string]{related}[bib]{% \ifcsdef{cms@opt@rel@#1}% {\csuse{cms@opt@rel@#1}}% {\csuse{cms@opt@rel@bib}\cms@warning@noline% @@ -393,39 +1028,18 @@ \settoggle{cms@citerel}{true}% \settoggle{cms@related}{false}}% -\DeclareEntryOption[string]{related}[bib]{% - \ifcsdef{cms@opt@rel@#1}% - {\csuse{cms@opt@rel@#1}}% - {\csuse{cms@opt@rel@bib}\cms@warning@noline% - {'related=#1' is not a valid option.\MessageBreak - The default - 'bib' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - % Adding a disambiguating field to short notes otherwise identical % -\DeclareBibliographyOption[string]{shortextrafield}{% - \def\cms@xfield{#1}}% - -\DeclareTypeOption[string]{shortextrafield}{% - \def\cms@xfield{#1}}% - -\DeclareEntryOption[string]{shortextrafield}{% +\DeclareBiblatexOption{global,type,entry}[string]{shortextrafield}{% \def\cms@xfield{#1}}% -\DeclareBibliographyOption[string]{shortextraformat}{% - \def\cms@xformat{#1}}% - -\DeclareTypeOption[string]{shortextraformat}{% - \def\cms@xformat{#1}}% - -\DeclareEntryOption[string]{shortextraformat}{% +\DeclareBiblatexOption{global,type,entry}[string]{shortextraformat}{% \def\cms@xformat{#1}}% -\DeclareBibliographyOption[string]{shortextrapunct}[comma]{% +\DeclareBiblatexOption{global,type,entry}[string]{shortextrapunct}[comma]{% \ifcsdef{cms@opt@shxp@#1}% {\csuse{cms@opt@shxp@#1}}% - {\csuse{cms@opt@shxp@period}\cms@warning@noline% + {\csuse{cms@opt@shxp@comma}\cms@warning@noline% {'shortextrapunct=#1' is not a valid option.\MessageBreak The default - 'comma' - has been set.\MessageBreak Please see biblatex-chicago.pdf for valid\MessageBreak @@ -443,27 +1057,9 @@ \def\cms@opt@shxp@period{% \def\shortextrapunct{\addperiod\addspace}}% -\DeclareTypeOption[string]{shortextrapunct}[comma]{% - \ifcsdef{cms@opt@shxp@#1}% - {\csuse{cms@opt@shxp@#1}}% - {\csuse{cms@opt@shxp@period}\cms@warning@noline% - {'shortextrapunct=#1' is not a valid option.\MessageBreak - The default - 'comma' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - -\DeclareEntryOption[string]{shortextrapunct}[comma]{% - \ifcsdef{cms@opt@shxp@#1}% - {\csuse{cms@opt@shxp@#1}}% - {\csuse{cms@opt@shxp@period}\cms@warning@noline% - {'shortextrapunct=#1' is not a valid option.\MessageBreak - The default - 'comma' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - % Controlling punctuation before titleaddon fields % -\DeclareBibliographyOption[string]{ptitleaddon}[period]{% +\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{% \ifcsdef{cms@opt@ptao@#1}% {\csuse{cms@opt@ptao@#1}}% {\csuse{cms@opt@ptao@period}\cms@warning@noline% @@ -484,16 +1080,7 @@ \def\cms@opt@ptao@period{% \def\ptitleaddonpunct{\addperiod\addspace}}% -\DeclareEntryOption[string]{ptitleaddon}[period]{% - \ifcsdef{cms@opt@ptao@#1}% - {\csuse{cms@opt@ptao@#1}}% - {\csuse{cms@opt@ptao@period}\cms@warning@noline% - {'ptitleaddon=#1' is not a valid option.\MessageBreak - The default - 'period' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - -\DeclareBibliographyOption[string]{ctitleaddon}[comma]{% +\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{% \ifcsdef{cms@opt@ctao@#1}% {\csuse{cms@opt@ctao@#1}}% {\csuse{cms@opt@ctao@comma}\cms@warning@noline% @@ -514,18 +1101,9 @@ \def\cms@opt@ctao@period{% \def\ctitleaddonpunct{\addperiod\addspace}}% -\DeclareEntryOption[string]{ctitleaddon}[comma]{% - \ifcsdef{cms@opt@ctao@#1}% - {\csuse{cms@opt@ctao@#1}}% - {\csuse{cms@opt@ctao@comma}\cms@warning@noline% - {'ctitleaddon=#1' is not a valid option.\MessageBreak - The default - 'comma' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - % Controlling punctuation before shorthand in notes % -\DeclareBibliographyOption[string]{shorthandpunct}[space]{% +\DeclareBiblatexOption{global,type,entry}[string]{shorthandpunct}[space]{% \ifcsdef{cms@opt@shp@#1}% {\csuse{cms@opt@shp@#1}}% {\csuse{cms@opt@shp@space}\cms@warning@noline% @@ -550,18 +1128,11 @@ \def\cms@opt@shp@endash{% \def\shorthandpunct{\addspace\textendash\addspace}}% -\DeclareEntryOption[string]{shorthandpunct}[space]{% - \ifcsdef{cms@opt@shp@#1}% - {\csuse{cms@opt@shp@#1}}% - {\csuse{cms@opt@shp@space}\cms@warning@noline% - {'shorthandpunct=#1' isn't a valid option.\MessageBreak - The default - 'space' - has been set.\MessageBreak - Please see biblatex-chicago.pdf for valid\MessageBreak - option keys}}}% - \ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,% related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,% - legalnotes,supranotes,shortextrapunct} + legalnotes,supranotes,shortextrapunct,dashed} + +\ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}% \iftoggle{cms@legalnotes}% {\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% @@ -569,33 +1140,38 @@ % For author-date compatibility % -\DeclareEntryOption{switchdates}[true]{% +\DeclareEntryOption[boolean]{switchdates}[true]{% \settoggle{cms@switchdates}{#1}}% \DeclareEntryOption{cmsdate}{}% \DeclareBibliographyOption{cmsdate}{}% -\DeclareBibliographyOption{strict}[true]{% - \let\splitfootnoterule\footnoterule - \renewcommand\footnoterule{}% - \advance\skip\footins 4\p@\@plus2\p@\relax - \gdef\split@prev{0} - \let\pagefootnoterule\footnoterule - % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} - \def\footnoterule{\relax - \ifnum\split@prev=\z@ - \pagefootnoterule - \else - \splitfootnoterule - \fi - \xdef\split@prev{\the\insertpenalties}% - }} +\DeclareBibliographyOption[boolean]{strict}[true]{% + \settoggle{cms@strict}{#1}% + \iftoggle{cms@strict}% + {\let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0} + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }}% + {}} \protected\def\blx@newcunit{% - \global\let\blx@unitpunct\newcunitpunct - \global\toggletrue{blx@unit}}% + \iftoggle{blx@keepunit}% + {}% + {\global\let\blx@unitpunct\newcunitpunct + \global\toggletrue{blx@unit}}}% \appto\blx@blxinit{% \let\newcunit\blx@newcunit} @@ -670,7 +1246,7 @@ \usebibmacro{cite:save}}% {\global\toggletrue{cms@shortnote}% \global\togglefalse{cms@fullnote}% - \usebibmacro{cite:short}% + \usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}}}% {\iftoggle{cms@shorthandibid}% {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% @@ -694,12 +1270,12 @@ {\global\toggletrue{cms@shortnote}% \global\togglefalse{cms@fullnote}% \global\toggletrue{cms@printshhand}% - \usebibmacro{cite:short}% + \usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}}% {\global\toggletrue{cms@fullnote}% \global\togglefalse{cms@shortnote}% - \usebibmacro{cite:full}% \usebibmacro{footcite:save}% FIXME!! + \usebibmacro{cite:full}% \usebibmacro{cite:save}}}}}% \newbibmacro*{cite:full}{% @@ -708,17 +1284,14 @@ {\DeclareNameAlias{sortname}{default}\frenchspacing}% {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}% +% {<entrytype>} +\newbibmacro*{cite:short}[1]{% + \global\let\cms@pnsaved\undefined% + \ifcsundef{cite:short:#1}% + {\csuse{cite:short:book}}% + {\csuse{cite:short:#1}}} + +\newbibmacro*{cite:short:ibid}{% For 17th edition \ifthenelse{\ifnameundef{labelname}\OR% \ifentrytype{inreference}\OR% \ifentrytype{reference}\OR% @@ -741,77 +1314,41 @@ togl {cms@bibjtabb}% )) }% - {\printfield[shortjournal]{shortjournal}\newcunit}% - {\printfield[journaltitle]{journaltitle}\newcunit}}% + {\cmshyper{\printfield[shortjournal]{shortjournal}}\newcunit}% + {\cmshyper{\printfield[journaltitle]{journaltitle}}\newcunit}}% {}}% {\ifentrytype{manual}% - {\printlist{organization}\isdot\newcunit}% - {}}}% - {\ifboolexpr{% - test {\ifciteidem}% - and - not test {\ifbibliography}% - and - not test {\iffirstonpage}% - and - not togl {cms@noidem}% - and - not togl {cms@headlessnote}% - }% - {\bibstring[\mkibid]{idem\thefield{gender}}% - \classicpunct}% - {\iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{labelname}% + {\cmshyper{\printlist{organization}\isdot}\newcunit}% + {\ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + and + test {\iffieldundef{shorttitle}}% + }% + {\cmshyper{\printtext[booktitle]{% + \printfield[btnoformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[sbtnoformat]{booksubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}}}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\cmshyper{\printnames{labelname}}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\cmshyper{\printnames{labelname}?}% \bibrightbracket\classicpunct}% - {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{labelname}?% - \bibrightbracket\classicpunct}% - {\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}? + {\cmshyper{\printnames{labelname}}%\usebibmacro{choose+labelname}% + \isdot\classicpunct}}}}% \newbibmacro*{shortnote+extrafield}{% Disambiguate otherwise identical \iffieldundef{\csuse{cms@xfield}}% short notes {\iflistundef{\csuse{cms@xfield}}% {\ifnameundef{\csuse{cms@xfield}}% - {\ifcsstring{cms@xfield}{date}% - {\printtext[\csuse{cms@xformat}]{\printdate}}% - {\ifcsstring{cms@xfield}{origdate}% - {\printtext[\csuse{cms@xformat}]{\printorigdate}}% - {\ifcsstring{cms@xfield}{eventdate}% - {\printtext[\csuse{cms@xformat}]{\printeventdate}}% - {\ifcsstring{cms@xfield}{urldate}% - {\printtext[\csuse{cms@xformat}]{\printurldate}}% - {\printtext[\csuse{cms@xformat}]{\cms@xfield}}}}}}% + {\cms@xtime}% See below; stops spurious parentheses appearing {\printtext[\csuse{cms@xformat}]{% \printnames[default]{\csuse{cms@xfield}}}}}% {\printtext[\csuse{cms@xformat}]{% @@ -838,41 +1375,135 @@ }% {\printtext[\csuse{cms@xformat}]{% \printfield[letterday]{\csuse{cms@xfield}}}}% + {\ifboolexpr{% + test {\ifcsstring{cms@xfield}{season}}% + or + test {\ifcsstring{cms@xfield}{origseason}}% + or + test {\ifcsstring{cms@xfield}{eventseason}}% + or + test {\ifcsstring{cms@xfield}{urlseason}}% + }% + {\printtext[\csuse{cms@xformat}]{% + \mkbibseason{\thefield{\csuse{cms@xfield}}}}}% + {\IfSubStr{\cms@xfield}{year}% + {\StrCut{\cms@xfield}{year}\cms@yeartype\cms@tempnull% + \iffieldundef{\csuse{cms@yeartype}year}% + {}% + {\printtext[\csuse{cms@xformat}]{% + \csuse{print\cms@yeartype dateextra}}}}% + {\printtext[\csuse{cms@xformat}]{% + \printfield{\csuse{cms@xfield}}}}}}}}}% + +\newrobustcmd*{\cms@xtime}{% Tests for presence of field before printing + \IfSubStr{\cms@xfield}{time}% + {\StrCut{\cms@xfield}{time}\cms@timetype\cms@tempnull% + \iffieldundef{\csuse{cms@timetype}hour}% + {}% + {\printtext[\csuse{cms@xformat}]{% + \csuse{print\cms@timetype date}% + \newcunit\csuse{print\cms@timetype time}}}}% + {\IfSubStr{\cms@xfield}{date}% + {\StrCut{\cms@xfield}{date}\cms@datetype\cms@tempnull% + \ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND% + \iffieldundef{\csuse{cms@datetype}month}\AND% + \iffieldundef{\csuse{cms@datetype}season}}% + {}% {\printtext[\csuse{cms@xformat}]{% - \printfield{\csuse{cms@xfield}}}}}}}% + \csuse{print\cms@datetype date}}}}% + {}}} \newbibmacro*{footcite:save}{% + \iffootnote% + {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% + \ifentrytype{legislation}}% + {\ifboolexpr{% + test {\ifentrytype{legal}}% + or + ( + test {\ifentrytype{legislation}}% + and + ( + test {\iffieldequalstr{entrysubtype}{un}}% + or + test {\iffieldequalstr{entrysubtype}{hearing}}% + )) + }% + {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}% + \label{cbx@\the\value{instcount}}}% + {}}% + {\cms@save@locdata{entrykey}% + \label{cbx@\the\value{instcount}}}}% + {}} + +\newbibmacro*{print+noteref}{% \ifboolexpr{% - test {\iffootnote}% + togl {cms@noterefs}% + and + test {\ifbool{citetracker}}% For non-tracked citation commands and + not togl {cms@allshort}% + and + test {\iffootnote}% + and not ( + test {\ifentrytype{jurisdiction}}% + or test {\ifentrytype{legal}}% or - ( test {\ifentrytype{legislation}}% - and - ( - test {\iffieldequalstr{entrysubtype}{un}}% - or - test {\iffieldequalstr{entrysubtype}{hearing}}% - ))) + ) }% - {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}% - \label{cbx@\the\value{instcount}}}% - {}}% + {\usebibmacro{noteref+interval}}% + {}} -\newbibmacro*{cite:short:jurisdiction}{% +%%% The cite:short per-type macros, with helper macros %%% + +\csdef{cite:short:article}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {\iffieldequalstr{entrysubtype}{magazine}% + {\ifuseauthor% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\printfield[shortjournal]{shortjournal}\newcunit}% + {\printfield[journaltitle]{journaltitle}\newcunit}}% + {}}% + {}}% + {\usebibmacro{cms+name+idem}}% + \cmshyper{\printfield[citetitle]{labeltitle}}% + \usebibmacro{cms+extra+test}}% + +\csdef{cite:short:book}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {}% + {\usebibmacro{cms+name+idem}}% + \cmshyper{\printfield[citetitle]{labeltitle}}% + \usebibmacro{cms+extra+test}}% + +\csdef{cite:short:inreference}{% + \usebibmacro{allshort+firstcite+xref}% + \cmshyper{\printfield[citetitle]{labeltitle}}% + \usebibmacro{cms+extra+test}}% + +\csdef{cite:short:jurisdiction}{% \iffieldundef{labeltitle}% {}% - {\ifboolexpr{% - togl {cms@allshort}% - or - test {\ifbibliography}% - }% - {\printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}}}% - {\printtext[cmshyperlink]{% - \printfield[citetitle]{labeltitle}}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% \newcunit% Fixme: giving us a duplicate comma \printfield[jourvol]{volume}% \setunit*{\addnbspace}% @@ -887,18 +1518,10 @@ % \newcunit% \usebibmacro{juridpostnote}}% -\newbibmacro*{cite:short:legal}{% +\csdef{cite:short:legal}{% \iffieldundef{labeltitle}% {}% - {\ifboolexpr{% - togl {cms@allshort}% - or - test {\ifbibliography}% - }% - {\printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}}}% - {\printtext[cmshyperlink]{% - \printfield[citetitle]{labeltitle}}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% \newcunit% Fixme: giving us a duplicate comma \printfield[jourvol]{volume}% \setunit*{\addnbspace}% @@ -921,7 +1544,7 @@ {}% \usebibmacro{juridpostnote}}% -\newbibmacro*{cite:short:legislation}{% +\csdef{cite:short:legislation}{% \iffieldequalstr{entrysubtype}{constitution}% {\usebibmacro{clegis+news+title}% \setunit{\addspace}% @@ -931,15 +1554,7 @@ \newcunit% \printfield{chapter}}% {\iffieldequalstr{labeltitlesource}{shorttitle}% - {\ifboolexpr{% - togl {cms@allshort}% - or - test {\ifbibliography}% - }% - {\printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}}}% - {\printtext[cmshyperlink]{% - \printfield[citetitle]{labeltitle}}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% {\ifboolexpr{% test {\iffieldundef{shortjournal}}% or @@ -957,15 +1572,7 @@ {\printlist{location}% \setunit{\addspace}}% {}% - \ifboolexpr{% - togl {cms@allshort}% - or - test {\ifbibliography}% - }% - {\printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}}}% - {\printtext[cmshyperlink]{% - \printfield[citetitle]{labeltitle}}}% + \cmshyper{\printfield[citetitle]{labeltitle}}% \setunit{\addspace}% \printfield[juridnum]{number}% \newcunit% @@ -1006,7 +1613,185 @@ {}% \usebibmacro{juridpostnote}}% +\csdef{cite:short:manual}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {\ifboolexpr{% + test {\iflistundef{organization}}% + or + togl {cms@headlessnote}% + }% + {}% + {\printlist{organization}\isdot\newcunit}}% + {\usebibmacro{cms+name+idem}}% + \cmshyper{\printfield[citetitle]{labeltitle}}% + \usebibmacro{cms+extra+test}}% + +\csletcs{cite:short:mvreference}{cite:short:inreference}% + +\csdef{cite:short:online}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {}% + {\usebibmacro{cms+name+idem}}% + \ifboolexpr{% + test {\IfBeginWith{\thefield{title}}{CCCCCC}}% + and + test {\iffieldequalstr{relatedtype}{commenton}}% + and + togl {cms@citerel}% + }% + {\setcounter{cms@reviewcount}{\value{instcount}}% + \usebibmacro{related:init}% + \usebibmacro{related}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% + \usebibmacro{cms+extra+test}}% + +\csdef{cite:short:periodical}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {}% + {\usebibmacro{cms+name+idem}}% + \iffieldundef{issuetitle}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% + {\printfield{issuetitle}} + \usebibmacro{cms+extra+test}}% + +\csletcs{cite:short:reference}{cite:short:inreference}% + +\csdef{cite:short:review}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {\iffieldequalstr{entrysubtype}{magazine}% + {\ifuseauthor% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\printfield[shortjournal]{shortjournal}\newcunit}% + {\printfield[journaltitle]{journaltitle}\newcunit}}% + {}}% + {}}% + {\usebibmacro{cms+name+idem}}% + \ifboolexpr{% + ( + test {\iffieldequalstr{relatedtype}{reviewof}}% + or + test {\iffieldequalstr{relatedtype}{commenton}}% + ) + and + togl {cms@citerel}% + }% + {\setcounter{cms@reviewcount}{\value{instcount}}% + \usebibmacro{related:init}% + \usebibmacro{related}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% + \usebibmacro{cms+extra+test}}% + +\csdef{cite:short:standard}{% + \usebibmacro{allshort+firstcite+xref}% + \ifboolexpr{% + ( + togl {cms@allshort}% + and + not test {\ifciteseen}% + ) + or + not test {\iffieldundef{entrysubtype}}% + }% + {\ifnameundef{labelname}% + {\ifboolexpr{% + test {\iflistundef{organization}}% + or + togl {cms@headlessnote}% + }% + {}% + {\printlist{organization}\isdot\newcunit}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\classicpunct}% + {\printnames{labelname}% + \isdot\classicpunct}}}}% + {}% + \cmshyper{\printfield[citetitle]{labeltitle}}% + \usebibmacro{cms+extra+test}} + +\csletcs{cite:short:suppperiodical}{cite:short:review}% + +\csdef{cite:short:video}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {}% + {\usebibmacro{cms+name+idem}}% + \ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + }% + {\iffieldundef{shorttitle}% + {\cmshyper{\printtext[booktitle]{% + \printfield[btnoformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[sbtnoformat]{booksubtitle}}% (?) + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% + \usebibmacro{cms+extra+test}}% + +\newbibmacro*{cms+extra+test}{% Used in previous defs + \ifboolexpr{% + test {\iffieldundef{extratitle}}% Most reliable test + or + test {\ifcsundef{cms@xfield}}% + }% + {}% + {\setunit{\shortextrapunct}% + \usebibmacro{shortnote+extrafield}}} + +\newbibmacro*{cms+name+idem}{% Used in previous defs + \ifboolexpr{% + test {\ifciteidem}% + and + not test {\ifbibliography}% + and + not test {\iffirstonpage}% + and + not togl {cms@noidem}% + and + not togl {cms@headlessnote}% + }% + {\bibstring[\mkibid]{idem\thefield{gender}}% + \classicpunct}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\classicpunct}% + {\printnames{labelname}% + \isdot\classicpunct}}}} + \newbibmacro*{cite:shorthand}{% + \global\let\cms@pnsaved\undefined% \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% \ifentrytype{legislation}}% {\usebibmacro{cite:shorthand:legal}}% @@ -1014,22 +1799,16 @@ \newbibmacro*{cite:shorthand:cms}{% \usebibmacro{allshort+firstcite+xref}% - \iftoggle{cms@allshort}% - {\printtext[bibhyperref]{% - \printfield{shorthand}}}% - {\printtext[cmshyperlink]{% - \printfield{shorthand}}}} + \cmshyper{\printfield{shorthand}}} \newbibmacro*{cite:shorthand:legal}{% \usebibmacro{allshort+firstcite+xref}% - \iftoggle{cms@allshort}% - {\printtext[bibhyperref]{% - \printfield{shorthand}}}% - {\printtext[cmshyperlink]{% - \printfield{shorthand}}}% + \cmshyper{\printfield{shorthand}}% \ifboolexpr{% test {\iffootnote}% and + togl {cms@supranotes}% + and ( test {\ifentrytype{legal}}% or @@ -1063,13 +1842,13 @@ {%\addspace%\setunit{\addspace}% Ditto \printfield{shorthandintro}}}} -\newbibmacro*{choose:ibidstring}{% +\newbibmacro*{cite:ibid}{% \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% \ifentrytype{legislation}}% - {\bibsstring[\mkbibemph]{ibidem}}% - {\bibstring[\mkibid]{ibidem}}} + {\usebibmacro{cite:ibid:legal}}% + {\usebibmacro{cite:ibid:cms}}} -\newbibmacro*{cite:ibid}{% +\newbibmacro*{cite:ibid:legal}{% \ifboolexpr{% togl {cms@noibid}% or @@ -1077,13 +1856,9 @@ }% {\global\toggletrue{cms@shortnote}% \global\togglefalse{cms@fullnote}% - \usebibmacro{cite:short}% + \usebibmacro{cite:short:legal}% \usebibmacro{cite:save}}% - {\iftoggle{cms@allshort}% - {\printtext[bibhyperref]{% - \usebibmacro{choose:ibidstring}}}%\bibstring[\mkibid]{ibidem} - {\printtext[cmshyperlink]{% - \usebibmacro{choose:ibidstring}}}%\bibstring[\mkibid]{ibidem} + {\cmshyper{\bibsstring[\mkbibemph]{ibidem}}% \ifboolexpr{% test {\ifloccit}% or @@ -1098,6 +1873,33 @@ {\global\toggletrue{cms@loccit}}% {}}}% +\newbibmacro*{cite:ibid:cms}{% + \iftoggle{cms@useibid}% + {\ifbibliography% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short}{\thefield{entrytype}}% + \usebibmacro{cite:save}}% + {\cmshyper{\bibstring[\mkibid]{ibidem}}% + \ifboolexpr{% + test {\ifloccit}% + or + ( + test {\ifciteibid}% + and + test {\iffieldequalcs{postnote}{cms@pnsaved}}% + and + not test {\ifdefvoid{\blx@loccittracker}}% Package option=false + ) + }% + {\global\toggletrue{cms@loccit}% + \global\let\cms@pnsaved\undefined}% + {\global\let\cms@pnsaved\undefined}}}% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short:ibid}% + \usebibmacro{cite:save}}}% + \newbibmacro*{cite:journal}{% \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% {\iffieldundef{prenote}% @@ -1105,7 +1907,7 @@ {\usebibmacro{cite:ibid}}% \usebibmacro{cite:save}}% {\iffieldundef{journaltitle}% - {\usebibmacro{cite:short}% + {\usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}}% {\ifboolexpr{% test {\ifciteidem}% @@ -1257,7 +2059,7 @@ not test {\iffieldundef{shorthand}}% }% {\usebibmacro{cite}}% - {\usebibmacro{cite:short}}}% Would {cite} be better? + {\usebibmacro{cite:short}{\thefield{entrytype}}}}% Would {cite} be better? {}% {\usebibmacro{crossref:volume+postnote}}% Volume fix @@ -1283,7 +2085,7 @@ not test {\iffieldundef{shorthand}}% }% {\usebibmacro{cite}}% - {\usebibmacro{cite:short}}}% + {\usebibmacro{cite:short}{\thefield{entrytype}}}}% {}% {\usebibmacro{crossref:volume+postnote}}% Volume fix @@ -1326,8 +2128,8 @@ {\usebibmacro{citeindex}% \toggletrue{cms@fullnote}% \togglefalse{cms@shortnote}% - \usebibmacro{cite:full}% \usebibmacro{footcite:save}% + \usebibmacro{cite:full}% \usebibmacro{cite:save}} {\multicitedelim} {} @@ -1337,8 +2139,8 @@ {\usebibmacro{citeindex}% \toggletrue{cms@fullnote}% \togglefalse{cms@shortnote}% - \usebibmacro{cite:full}% \usebibmacro{footcite:save}% + \usebibmacro{cite:full}% \usebibmacro{cite:save}} {\multicitedelim} {} @@ -1348,7 +2150,7 @@ \ifhyperref% {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}% {}% - \nopunct\unspace}% Put \nopunct and \unspace here for 0.8e. + \nopunct}% Remove \unspace for v. 2.0 {\usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \usebibmacro{clearorigin}\clearfield{userf}\clearfield{shorthand}% @@ -1383,29 +2185,30 @@ {\finentry} \DeclareCiteCommand{\headlessfullcite} - {\usebibmacro{hlprenote}}% + {\usebibmacro{prenote}}% {\printtext[bibhypertarget]{% \usedriver - {\DeclareNameAlias{sortname}{default}\usebibmacro{cite:save}% - \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% - \usebibmacro{clear+labelname}\global\toggletrue{cms@noidem}}% + {\DeclareNameAlias{sortname}{default}\toggletrue{cms@fullnote}% + \toggletrue{cms@headlessnote}\usebibmacro{footcite:save}% + \usebibmacro{cite:save}\usebibmacro{clear+labelname}% + \global\toggletrue{cms@noidem}}% {cite:\thefield{entrytype}}}}% {\multicitedelim}% {}%\usebibmacro{finentry}} \DeclareCiteCommand{\headlesscite} - {\usebibmacro{hlcprenote}} + {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \toggletrue{cms@headlessnote}% \usebibmacro{clear+labelname}% \clearname{labelname}% \usebibmacro{cite}% - \global\toggletrue{cms@noidem}} + \global\toggletrue{cms@noidem}}% {\multicitedelim} {\usebibmacro{cite:postnote}} \DeclareCiteCommand{\headlessparencite}[\mkbibparens] - {\usebibmacro{hlcprenote}} + {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \toggletrue{cms@headlessnote}% \usebibmacro{clear+labelname}% @@ -1428,7 +2231,7 @@ \toggletrue{cms@shortnote}% \togglefalse{cms@fullnote}% \clearname{labelname}% - \usebibmacro{cite:short}}% + \usebibmacro{cite:short}{\thefield{entrytype}}}% \global\toggletrue{cms@noidem}} {\multicitedelim} {\usebibmacro{cite:postnote}} @@ -1445,12 +2248,12 @@ and not togl {cms@noneshort}% }% - {\usebibmacro{cite:short}} + {\usebibmacro{cite:short}{\thefield{entrytype}}}% {\renewbibmacro*{author/editor}{\usebibmacro{choose+surname}}% \renewbibmacro*{editor}{\usebibmacro{choose+surname}}% \renewbibmacro*{author}{\usebibmacro{choose+surname}}% - \usebibmacro{cite}}} - {\multicitedelim} + \usebibmacro{cite}}}% + {\multicitedelim}% {\usebibmacro{cite:postnote}} \DeclareMultiCiteCommand{\surnamecites}{surnamecite}{\multicitedelim} @@ -1460,11 +2263,35 @@ {\toggletrue{cms@shortnote}% \togglefalse{cms@fullnote}% \usebibmacro{citeindex}% - \usebibmacro{cite:short}% + \usebibmacro{cite:short}{\thefield{entrytype}}% + \usebibmacro{cite:save}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\shortcite} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}}% + {\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \usebibmacro{citeindex}% + \usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}} {\multicitedelim} {\usebibmacro{postnote}} +\DeclareCiteCommand{\shortrefcite} + {\usebibmacro{prenote}} + {\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \usebibmacro{citeindex}% + \usebibmacro{cite:short}{\thefield{entrytype}}% + \usebibmacro{cite:save}}% + {\multicitedelim} + {\toggletrue{cms@forcenoteref}% + \usebibmacro{postnote}% + \togglefalse{cms@forcenoteref}}% + \DeclareCiteCommand{\shorthandcite} {\usebibmacro{prenote}} {\usebibmacro{citeindex}% @@ -1481,6 +2308,42 @@ {\multicitedelim} {\usebibmacro{postnote}} +\DeclareCiteCommand*{\shorthandcite} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iftoggle{cms@shorthandibid}% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}% + \usebibmacro{cite:save}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\shorthandrefcite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iftoggle{cms@shorthandibid}% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}% + \usebibmacro{cite:save}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}} + {\multicitedelim} + {\toggletrue{cms@forcenoteref}% + \usebibmacro{postnote}% + \togglefalse{cms@forcenoteref}} + \DeclareCiteCommand{\citejournal}% Name? {\usebibmacro{prenote}} {\toggletrue{cms@shortnote}% @@ -1494,6 +2357,15 @@ {}% {\usebibmacro{fullpostnote}}} +\DeclareCiteCommand{\runcite}% 17th ed. + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \toggletrue{cms@running@text}% + \usebibmacro{cite}% + \togglefalse{cms@running@text}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + \DeclareCiteCommand{\citeauthor} {\boolfalse{citetracker}% \boolfalse{pagetracker}% @@ -1507,10 +2379,21 @@ {\multicitedelim} {\usebibmacro{postnote}} +\newrobustcmd*{\Shortcite}{% + \@ifstar{\bibsentence\shortcite*}{\bibsentence\shortcite}}% + +\newrobustcmd*{\Shortrefcite}{\bibsentence\shortrefcite}% + +\newrobustcmd*{\Headlesscite}{\bibsentence\headlesscite} + +\newrobustcmd*{\Headlesscites}{\bibsentence\headlesscites} + \DeclareMultiCiteCommand{\citetitles}{citetitle}{\multicitedelim} \DeclareMultiCiteCommand{\headlesscites}{headlesscite}{\multicitedelim} +\DeclareMultiCiteCommand{\headlessfullcites}{headlessfullcite}{\multicitedelim} + \DeclareMultiCiteCommand{\headlessparencites}[\mkbibparens]% {headlessparencite}{\multicitedelim} @@ -1694,9 +2577,7 @@ \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{cmag+news+author}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{cmag+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -1710,8 +2591,9 @@ \printfield{note}% \setunit{\addcomma\addspace}\newblock \usebibmacro{mag+news+date}% - \usebibmacro{fullpostnote}% \newcunit\newblock + \printfield{type}% + \usebibmacro{fullpostnote}% \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% @@ -1728,17 +2610,18 @@ togl {cms@citerel}% and not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% }% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% - \usebibmacro{finentry}} + {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}% {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{cmag+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -1754,8 +2637,9 @@ \printfield{note}% \setunit{\addcomma\addspace}% \usebibmacro{cjournal+issue+year+pages}% - \usebibmacro{fullpostnote}% + \usebibmacro{eid+fullpostnote}% \newcunit\newblock + \printfield{eid}% \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% @@ -1772,40 +2656,49 @@ togl {cms@citerel}% and not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% }% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% + {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}} \DeclareBibliographyDriver{cite:artwork}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% \newcunit\newblock - \usebibmacro{date}% + \iffieldundef{origyear}% 17th ed. + {\printdate}% + {\usebibmacro{cmsorigdate}}% \newcunit \usebibmacro{byauthor}% \newcunit\newblock \usebibmacro{cbyeditor+others}% \newcunit\newblock - \printfield{howpublished}% + \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed. + {}% + {\usebibmacro{date}}% \newcunit\newblock \printfield{type}% \newcunit\newblock - \printfield{version}% + \printfield[type]{version}% \newcunit\newblock \usebibmacro{cnotefield}% \newcunit\newblock \usebibmacro{institution+organization}% \newcunit\newblock \printlist{location}% - \usebibmacro{caddendum}% + \newcunit\newblock + \printfield{howpublished}% + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \usebibmacro{cite+doi+url}% \setunit{\shorthandpunct}% @@ -1813,8 +2706,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -1823,9 +2721,7 @@ \DeclareBibliographyDriver{cite:audio}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{ctitle+stitle}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% @@ -1834,6 +2730,8 @@ \newcunit \usebibmacro{cpart+editor+translator}% \newcunit + \usebibmacro{music+eventdate}% + \newcunit \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}% \newcunit @@ -1878,7 +2776,6 @@ \newcunit \printfield{type}% \usebibmacro{volfullpostnote}% - \newcunit\newblock \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% @@ -1893,8 +2790,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -1903,9 +2805,7 @@ \DeclareBibliographyDriver{cite:book}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{citaltitle+stitle}% \setunit{\addspace}% \usebibmacro{cite:xref+date}% @@ -1913,13 +2813,15 @@ \iffieldundef{maintitle}% {\iffieldundef{edition}% {}% - {\usebibmacro{edition}}}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{version}}% 17th ed. {}% \newcunit \usebibmacro{byauthor}% \newcunit \usebibmacro{cpart+editor+translator}% - \newcunit + \newcunit% \ifboolexpr{% test {\iffieldundef{crossref}}% or @@ -1934,69 +2836,110 @@ or togl {cms@bookcitexref}% }% - {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% - \newcunit\newblock - \iffieldundef{edition}% - {}% - {\usebibmacro{edition}}% - \newcunit - \usebibmacro{cbyeditor+others}% - \newcunit - \usebibmacro{volume+or+volumes}% - \newcunit\newblock - \usebibmacro{cser+num}% - \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{cpubl+loc+year}% - \iftoggle{cms@bookpages}% - {}% - {\clearfield{pages}}% - \usebibmacro{caddendum}% - \usebibmacro{volfullpostnote}% - \newcunit\newblock - \printlist[][-\value{listtotal}]{lista}% - \newcunit\newblock - \iftoggle{cms@isbn}% - {\printfield{isbn}}% - {}% - \newcunit\newblock - \usebibmacro{cite+doi+url}% - \setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \newcunit\newblock - \usebibmacro{pageref}% - \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% - \usebibmacro{finentry}% - \usebibmacro{book:xref+finentry}}% - {\ifpunctmark{.}% This seems to work. + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \iffieldundef{version}% 17th ed. + {}% + {\usebibmacro{version}}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \iftoggle{cms@bookpages}% + {}% + {\clearfield{pages}}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \printlist[][-\value{listtotal}]{lista}% + \newcunit\newblock + \printfield{type}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. {\ifbibliography% {\setunit{\bibsentence}}{\addspace\bibsentence}}% {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}% This seems to work. - {\ifbibliography% - {\setunit{\bibsentence}}{\addspace\bibsentence}}% - {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}} \DeclareBibliographyDriver{cite:bookinbook}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{citaltitle+stitle}% \setunit{\addspace}% \usebibmacro{cite:xref+date}% @@ -2006,6 +2949,17 @@ \usebibmacro{cpart+editor+translator}% \setunit*{\addcomma\addspace}% \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or not test {\ifentryseen{\thefield{crossref}}}% @@ -2019,65 +2973,126 @@ or togl {cms@bookcitexref}% }% - {\usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% - \newcunit - \iffieldundef{edition}% - {}% - {\usebibmacro{edition}}% - \newcunit - \usebibmacro{bybookauthor}% - \usebibmacro{cbyeditor+others}% - \newcunit - \usebibmacro{volume+or+volumes}% - \newcunit\newblock - \usebibmacro{cser+num}% - \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{cpubl+loc+year}% - \usebibmacro{caddendum}% - \usebibmacro{volfullpostnote}% - \newcunit\newblock - \iftoggle{cms@isbn}% - {\printfield{isbn}}% - {}% - \newcunit\newblock - \usebibmacro{cite+doi+url}% - \setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \newcunit\newblock - \usebibmacro{pageref}% - \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% - \usebibmacro{finentry}% - \usebibmacro{book:xref+finentry}}% - {\ifpunctmark{.}% This seems to work. + {\usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. {\ifbibliography% {\setunit{\bibsentence}}{\addspace\bibsentence}}% {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}% This seems to work. - {\ifbibliography% - {\setunit{\bibsentence}}{\addspace\bibsentence}}% - {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% - \usebibmacro{finentry}}} + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\entrydata{\thefield{related}}{% + \ifboolexpr{% + test {\ifentryseen{\thefield{clonesourcekey}}}% + and + not togl {cms@bookcitexref}% + }% + {\savefield{clonesourcekey}{\cms@shortmtkey}}% + {}}% + \iftoggle{cms@noterefs}{\addtocounter{instcount}{-1}}{}% Alternatives? + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{cite:booklet}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% \newcunit\newblock \usebibmacro{byauthor}% @@ -2086,8 +3101,8 @@ \setunit{\addspace}\newblock% \printtext[parens]{% \usebibmacro{howpubl+loc+year}}% - \usebibmacro{caddendum}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \usebibmacro{cite+doi+url}% \setunit{\shorthandpunct}% @@ -2095,8 +3110,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -2105,9 +3125,7 @@ \DeclareBibliographyDriver{cite:collection}{% \usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% \setunit{\addspace} \usebibmacro{cite:xref+date}% @@ -2128,94 +3146,210 @@ or togl {cms@bookcitexref}% }% - {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% - \newcunit\newblock - \iffieldundef{edition}% - {}% - {\usebibmacro{edition}}% - \newcunit - \usebibmacro{cbyeditor+others}% - \newcunit\newblock - \usebibmacro{volume+or+volumes}% - \newcunit\newblock - \usebibmacro{cser+num}% - \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{cpubl+loc+year}% - \usebibmacro{caddendum}% - \usebibmacro{volfullpostnote}% - \newcunit\newblock - \iftoggle{cms@isbn}% - {\printfield{isbn}}% - {}% - \newcunit\newblock - \usebibmacro{cite+doi+url}% - \setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \newcunit\newblock - \usebibmacro{pageref}% - \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% - \usebibmacro{finentry}% - \usebibmacro{book:xref+finentry}}% - {\ifpunctmark{.}% This seems to work. + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. {\ifbibliography% {\setunit{\bibsentence}}{\addspace\bibsentence}}% {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}% This seems to work. Only with Vol? + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. Only with Vol? {\ifbibliography% {\setunit{\bibsentence}}{\addspace\bibsentence}}% {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}} \DeclareBibliographyDriver{cite:customc}{% \usebibmacro{bibindex}% + \usebibmacro{justauthor}% + \iffieldundef{nameaddon}% + {\newcunit} + {\setunit{\addspace}}% + \usebibmacro{italtitle+stitle}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:dataset}{% + \usebibmacro{bibindex}% \usebibmacro{author/editor}% + \iftoggle{cms@headlessnote}{}{\setunit{\addspace}\newblock}% + \printtext[parens]{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cbyeditor+others}% + \setunit{\addspace}\newblock% + \ifthenelse{\iffieldundef{howpublished}\AND% + \iffieldundef{number}\AND\iffieldundef{type}}% + {}% + {\printtext[parens]{% + \printfield{howpublished}% + \newcunit + \printfield{type}% + \setunit{\addspace}% + \printfield{number}}}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newcunit\newblock + \usebibmacro{institution+organization}% + \newcunit\newblock + \printlist{location}% + \setunit{\addsemicolon\addspace}% + \printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% + \usebibmacro{fullpostnote}% \newcunit\newblock - \printfield{nameaddon}% - \setunit*{\addspace}% - \usebibmacro{italtitle+stitle}% + \iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\bibsstring{\thefield{pubstate}}}% + {\printfield[prenote]{pubstate}}% + \setunit{\addspace}}% + \usebibmacro{date}% + \clearfield{urlyear}% + \usebibmacro{caddendum}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}} \DeclareBibliographyDriver{cite:image}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% \newcunit%\setunit{\addcomma\addspace}% - \usebibmacro{date}% + \iffieldundef{origyear}% 17th ed. + {\printdate}% + {\usebibmacro{cmsorigdate}}% \newcunit \usebibmacro{byauthor}% \newcunit\newblock \usebibmacro{cbyeditor+others}% \newcunit\newblock - \printfield{howpublished}% + \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed. + {}% + {\usebibmacro{date}}% \newcunit\newblock \printfield{type}% \newcunit\newblock - \printfield{version}% + \printfield[type]{version}% \newcunit\newblock \usebibmacro{cnotefield}% \newcunit\newblock \usebibmacro{institution+organization}% \newcunit\newblock \printlist{location}% - \usebibmacro{caddendum}% + \newcunit\newblock + \printfield{howpublished}% 17th ed. + \setunit*{\addspace}% + \usebibmacro{music+eventdate}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \usebibmacro{cite+doi+url}% \setunit{\shorthandpunct}% @@ -2223,8 +3357,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -2233,9 +3372,7 @@ \DeclareBibliographyDriver{cite:inbook}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{ctitle+stitle}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% @@ -2245,6 +3382,17 @@ \usebibmacro{cpart+editor+translator}% \setunit{\addcomma\addspace}% \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or not test {\ifentryseen{\thefield{crossref}}}% @@ -2258,62 +3406,113 @@ or togl {cms@citecrossref}% }% - {\usebibmacro{chapincoll}% - \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% - \newcunit - \iffieldundef{edition}% - {}% - {\usebibmacro{edition}}% - \newcunit - \usebibmacro{bybookauthor}% - \usebibmacro{cbyeditor+others}% - \newcunit - \usebibmacro{volume+or+volumes}% - \newcunit\newblock - \usebibmacro{cser+num}% - \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{cpubl+loc+year}% - \usebibmacro{caddendum}% - \usebibmacro{volfullpostnote}% - \newcunit\newblock - \iftoggle{cms@isbn}% - {\printfield{isbn}}% - {}% - \newcunit\newblock - \usebibmacro{cite+doi+url}% - \setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \newcunit\newblock - \usebibmacro{pageref}% - \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% - \usebibmacro{finentry}% - \usebibmacro{cite:xref+finentry}}% -{\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + {\usebibmacro{chapincoll}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{cite:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{cite:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{xref}}% Removed \addspace from each. \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% - \usebibmacro{finentry}}} + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+note}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{cite:incollection}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock% + \usebibmacro{hlpunct}%\newcunit\newblock% \usebibmacro{ctitle+stitle}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% @@ -2323,6 +3522,17 @@ \usebibmacro{cpart+editor+translator}% \setunit{\addcomma\addspace}% \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or not test {\ifentryseen{\thefield{crossref}}}% @@ -2353,8 +3563,8 @@ \usebibmacro{cnotefield}% \newcunit\newblock \usebibmacro{cpubl+loc+year}% - \usebibmacro{caddendum}% \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -2366,32 +3576,83 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{cite:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% + {\usebibmacro{cite:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% {}% - \usebibmacro{finentry}% - \usebibmacro{cite:xref+finentry}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{xref}}% Removed \addspace from each. \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% - \usebibmacro{finentry}}} + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+note}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{cite:inproceedings}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{ctitle+stitle}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% @@ -2401,6 +3662,17 @@ \usebibmacro{cpart+editor+translator}% \setunit{\addcomma\addspace}% \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or not test {\ifentryseen{\thefield{crossref}}}% @@ -2427,8 +3699,8 @@ \setunit{\addspace}\newblock% \printtext[parens]{% \usebibmacro{org+publ+loc+year}}% - \usebibmacro{caddendum}% \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -2440,28 +3712,82 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{cite:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% + {\usebibmacro{cite:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% {}% - \usebibmacro{finentry}% - \usebibmacro{cite:xref+finentry}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% - \usebibmacro{finentry}}} + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+note}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{cite:inreference}{% \usebibmacro{bibindex}% + \iffieldundef{clonesourcekey}{}{\newcunit}% \usebibmacro{citaltitle+stitle}% \newcunit\newblock \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% @@ -2485,10 +3811,7 @@ \newcunit\newblock \usebibmacro{cser+num}% \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{cpubl+loc+year}% - \usebibmacro{caddendum}% + \usebibmacro{crefpubl+loc+year}% 17th ed. \usebibmacro{inreffullpostnote}% \newcunit\newblock%setunit{\addspace}% 16th ed \ifnameundef{author}% @@ -2497,6 +3820,7 @@ \bibstring{by}% \addspace% \printnames{author}}}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -2508,8 +3832,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -2567,7 +3896,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2624,7 +3957,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2688,7 +4025,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2698,9 +4039,7 @@ \DeclareBibliographyDriver{cite:legal}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -2754,7 +4093,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2765,9 +4108,7 @@ \iffieldequalstr{entrysubtype}{uk}% FIXME? {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -2821,7 +4162,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2830,9 +4175,7 @@ {\iffieldequalstr{entrysubtype}{hansard}% FIXME? {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -2880,7 +4223,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2888,9 +4235,7 @@ \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -2952,7 +4297,11 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% \usebibmacro{related}% \newcunit}% @@ -2974,6 +4323,17 @@ \usebibmacro{cpart+editor+translator}% \setunit*{\addcomma\addspace}% \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% test {\iffieldundef{crossref}}% or not test {\ifentryseen{\thefield{crossref}}}% @@ -3004,8 +4364,8 @@ \usebibmacro{cnotefield}% \newcunit\newblock \usebibmacro{cpubletter+loc+year}% - \usebibmacro{caddendum}% \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -3017,32 +4377,83 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{cite:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% - \newcunit}% + \newcunit}% + {\usebibmacro{cite:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% {}% - \usebibmacro{finentry}% - \usebibmacro{cite:xref+finentry}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. \usebibmacro{xrefprenote}% Volume fix \usebibmacro{xrefchapincoll}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% - \usebibmacro{finentry}}} + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\usebibmacro{extract+clonekey+note}% + \ifcsundef{cms@shortmtkey}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\csuse{cms@shortmtkey}}% + \usebibmacro{xrefpostnote}% + \csgundef{cms@shortmtkey}% + \usebibmacro{finentry}}}} \DeclareBibliographyDriver{cite:manual}{% \usebibmacro{bibindex}% \usebibmacro{author+org}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% \newcunit \usebibmacro{edition}% @@ -3057,8 +4468,8 @@ \setunit{\addspace}\newblock% \printtext[parens]{% \usebibmacro{org+publ+loc+year}}% - \usebibmacro{caddendum}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -3070,8 +4481,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3080,9 +4496,7 @@ \DeclareBibliographyDriver{cite:misc}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \iffieldundef{entrysubtype}% {\usebibmacro{citaltitle+stitle}}% {\printfield{title}% @@ -3093,7 +4507,9 @@ \setunit{\addspace}% \usebibmacro{language+transtitle}% \newcunit% - \usebibmacro{unpubl+letter+date}}% + \usebibmacro{unpubl+letter+date}% + \newcunit + \printlist{origlocation}}% 17th ed. \newcunit \usebibmacro{byauthor}% \newcunit\newblock @@ -3107,15 +4523,18 @@ \newcunit\newblock \printfield{note}% \newcunit\newblock - \usebibmacro{institution+organization}% + \iffieldundef{entrysubtype}% + {\printfield{venue}\newcunit}% + {}% + \usebibmacro{misc+institution+organization}% \newcunit\newblock \printlist{location}% \iffieldundef{entrysubtype}% {\newcunit\newblock \usebibmacro{date}}% {}% - \usebibmacro{caddendum}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \usebibmacro{cite+doi+url}% \setunit{\shorthandpunct}% @@ -3123,8 +4542,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3133,26 +4557,31 @@ \DeclareBibliographyDriver{cite:music}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% \newcunit \usebibmacro{byauthor}% \newcunit\newblock \usebibmacro{cpart+editor+translator}% \newcunit\newblock + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\usebibmacro{cbyeditor+others}\newcunit\newblock}{}% \usebibmacro{music+eventdate}% \newcunit\newblock - \usebibmacro{chapinscore}% + \usebibmacro{cnotefield}% + \newcunit\newblock + \printfield{howpublished}% + \newcunit\newblock + \usebibmacro{chap+as+track}%inscore% 17th ed. + \usebibmacro{music+bookauthor}% Ditto \usebibmacro{btitle+bstitle}% \newcunit \iffieldundef{edition}% {}% {\usebibmacro{edition}}% \newcunit - \usebibmacro{bybookauthor}% - \usebibmacro{cbyeditor+others}% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {}{\usebibmacro{cbyeditor+others}}% \iffieldundef{maintitle}% {}% {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% @@ -3182,14 +4611,14 @@ \newcunit\newblock \printfield{version}% \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}% + \usebibmacro{music+origdate}% Altered for 17th ed. \newcunit\newblock \printlist{publisher}% \newcunit\newblock - \printfield{series}% - \setunit{\addspace}% + \usebibmacro{series+or+shortser}% + \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}% + {\newcunit}% + {\setunit{\addspace}}% \printfield{number}% \newcunit\newblock \usebibmacro{date}% @@ -3200,10 +4629,9 @@ \newcunit\newblock \printfield{type}% \usebibmacro{fullpostnote}% - \newcunit\newblock \usebibmacro{caddendum}% \newcunit\newblock - \usebibmacro{pubstate}% 16th ed. + \usebibmacro{music+pubstate}% 17th ed. \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{iswc}}% @@ -3215,43 +4643,535 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% \usebibmacro{finentry}} -\DeclareBibliographyAlias{cite:mvbook}{cite:book} +\DeclareBibliographyDriver{cite:mvbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace}% + \usebibmacro{cite:xref+date}% + \usebibmacro{mt+mvnames+save}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\newcunit + \usebibmacro{volume+or+volumes}}% + \newcunit\newblock + \usebibmacro{cser+num}% + \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \iftoggle{cms@bookpages}% + {}% + {\clearfield{pages}}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \printlist[][-\value{listtotal}]{lista}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}} -\DeclareBibliographyAlias{cite:mvcollection}{cite:collection} +\DeclareBibliographyDriver{cite:mvcollection}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace} + \usebibmacro{cite:xref+date}% + \usebibmacro{mt+mvnames+save}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\newcunit\newblock + \usebibmacro{volume+or+volumes}}% + \newcunit\newblock + \usebibmacro{cser+num}% + \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. Only with Vol? + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}}% -\DeclareBibliographyAlias{cite:mvproceedings}{cite:proceedings} +\DeclareBibliographyDriver{cite:mvproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace} + \usebibmacro{cite:xref+date}% + \usebibmacro{mt+mvnames+save}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\newcunit\newblock + \usebibmacro{volume+or+volumes}}% + \newcunit\newblock + \usebibmacro{cser+num}% + \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{org+publ+loc+year}}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}% +{\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}} -\DeclareBibliographyAlias{cite:mvreference}{cite:reference} +\DeclareBibliographyDriver{cite:mvreference}{% + \usebibmacro{bibindex}% + \usebibmacro{citaltitle+stitle}% + \newcunit\newblock + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \usebibmacro{cbyeditor+others}% + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}{}% + {\newcunit + \usebibmacro{volume+or+volumes}}% + \newcunit\newblock + \usebibmacro{cser+num}% + \setunit*{\addcomma\addspace}% + \ifboolexpr{% + not togl {cms@citerel}% + or + ( + not test {\iffieldequalstr{relatedtype}{maintitle}}% + and + not test {\iffieldequalstr{relatedtype}{maintitlenc}}% + ) + or + test {\iffieldundef{related}}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit\newblock + \usebibmacro{crefpubl+loc+year}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}% + {\unspace% Needed for entries with langid (?) + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related:mtsave}% + \usebibmacro{related}% + \newcunit% + \usebibmacro{finentry}}} \DeclareBibliographyDriver{cite:online}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock - \usebibmacro{ctitle+stitle}% - \setunit{\addspace}% - \usebibmacro{language+transtitle}% - \setunit{\addcomma\addspace}% - \usebibmacro{byauthor}% - \setunit{\addcomma\addspace}% - \printlist{organization}% Rearranged for 16th ed. - \setunit{\addcomma\addspace}% - \usebibmacro{cnotefield}% - \setunit{\addcomma\addspace} + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \IfBeginWith{\thefield{title}}{CCCCCC}% + {}% + {\usebibmacro{ctitle+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \printlist{organization}% Rearranged for 16th ed. + \setunit{\addcomma\addspace}% + \usebibmacro{cnotefield}% + \setunit{\addcomma\addspace}}% \usebibmacro{date}% + \usebibmacro{time+stamp}% + \newcunit\newblock + \printfield{type}% 17th ed. + \ifboolexpr{% + test {\iffieldequalstr{relatedtype}{commenton}}% + and + togl {cms@citerel}% + }% + {\toggletrue{cms@relreview}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \togglefalse{cms@relreview}}% + {}% \usebibmacro{fullpostnote}% - \setunit{\addcomma\addspace}% + \usebibmacro{caddendum}% + \newcunit\newblock \iffieldundef{urlyear}% {}% - {\printurldate}% Date fix + {\printurldate% + \ifboolexpr{% + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% + }% + {\newcunit\printurltime}% + {}}% Date fix \newcunit\newblock \iftoggle{cms@doionly}% {\iffieldundef{doi}% @@ -3263,15 +5183,20 @@ \usebibmacro{eprint}% \newcunit\newblock \printfield{url}% - \newcunit\newblock - \usebibmacro{caddendum}% \setunit{\shorthandpunct}% \usebibmacro{cms:shorthandintro}% \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldequalstr{relatedtype}{commenton}}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3280,8 +5205,15 @@ \DeclareBibliographyDriver{cite:patent}{% \usebibmacro{bibindex}% \usebibmacro{author+holder}% +holder? - \newcunit\newblock - \usebibmacro{ctitle+stitle}% + \usebibmacro{hlpunct}%\newcunit\newblock + \iffieldundef{title}% + {}% + {\printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}}% \setunit{\addspace}% \usebibmacro{language+transtitle}% \setunit{\addcomma\addspace}\newblock% @@ -3318,8 +5250,61 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:performance}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \printfield{howpublished}% + \newcunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newcunit\newblock + \printfield{venue}% + \newcunit\newblock% + \usebibmacro{institution+organization}% + \newcunit\newblock + \printlist{location}% + \newcunit\newblock + \usebibmacro{date}% + \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3329,9 +5314,7 @@ \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{issuetitle}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -3342,7 +5325,6 @@ \setunit{\addcomma\addspace}\newblock \usebibmacro{periodical+date+issue}% \usebibmacro{fullpostnote}% - \newcunit\newblock \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% @@ -3355,17 +5337,20 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% \usebibmacro{finentry}}% {\usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{issuetitle}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -3376,9 +5361,10 @@ \setunit{\addcomma\addspace}% \printfield{note}% \setunit{\addcomma\addspace}% - \usebibmacro{cperiodical+issue+year+pages}% - \usebibmacro{fullpostnote}% + \usebibmacro{cjournal+issue+year+pages}% + \usebibmacro{eid+fullpostnote}% \newcunit\newblock + \printfield{eid}% \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% @@ -3391,8 +5377,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3401,9 +5392,7 @@ \DeclareBibliographyDriver{cite:proceedings}{% \usebibmacro{bibindex}% \usebibmacro{editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% \setunit{\addspace} \usebibmacro{cite:xref+date}% @@ -3424,57 +5413,95 @@ or togl {cms@bookcitexref}% }% - {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% - \newcunit - \usebibmacro{cbyeditor+others}% - \newcunit\newblock - \usebibmacro{volume+or+volumes}% - \newcunit\newblock - \usebibmacro{cser+num}% - \newcunit\newblock - \usebibmacro{cnotefield}% - \setunit{\addspace}\newblock% - \printtext[parens]{% - \usebibmacro{org+publ+loc+year}}% - \usebibmacro{caddendum}% - \usebibmacro{volfullpostnote}% - \newcunit\newblock - \iftoggle{cms@isbn}% - {\printfield{isbn}}% - {}% - \newcunit\newblock - \usebibmacro{cite+doi+url}% - \setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \newcunit\newblock - \usebibmacro{pageref}% - \newcunit\newblock - \iftoggle{cms@citerel}% - {\usebibmacro{related:init}% - \usebibmacro{related}% - \newcunit}% - {}% - \usebibmacro{finentry}% - \usebibmacro{book:xref+finentry}}% - {\ifpunctmark{.}% This seems to work. + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{org+publ+loc+year}}% + \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{book:xref+finentry}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {\usebibmacro{book:xref+finentry}}% + \usebibmacro{finentry}}% + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. {\ifbibliography% {\setunit{\bibsentence}}{\addspace\bibsentence}}% {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}}% - {\ifpunctmark{.}% This seems to work. - {\ifbibliography% - {\setunit{\bibsentence}}{\addspace\bibsentence}}% - {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + {\ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:noterefhelper}}% + {}% + \ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% \usebibmacro{finentry}}} \DeclareBibliographyDriver{cite:reference}{% \usebibmacro{bibindex}% + \iffieldundef{clonesourcekey}{}{\newcunit}% \usebibmacro{citaltitle+stitle}% \newcunit\newblock \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% @@ -3498,11 +5525,9 @@ \newcunit\newblock \usebibmacro{cser+num}% \newcunit\newblock - \usebibmacro{cnotefield}% - \newcunit\newblock - \usebibmacro{cpubl+loc+year}% - \usebibmacro{caddendum}% + \usebibmacro{crefpubl+loc+year}% \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -3514,8 +5539,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3524,9 +5554,7 @@ \DeclareBibliographyDriver{cite:report}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \iffieldequalstr{entrysubtype}{unpublished}% {\usebibmacro{ctitle+stitle}}% {\usebibmacro{citaltitle+stitle}}% @@ -3535,16 +5563,18 @@ \newcunit% \printfield{type}% \newcunit - \printfield{series}% - \setunit{\addnbspace}% + \usebibmacro{series+or+shortser}% + \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}% + {\newcunit}% + {\setunit{\addnbspace}}% \printfield{number}% \newcunit% \usebibmacro{cnotefield}% \setunit{\addspace}\newblock% - \printtext[parens]{% + \printtext[parens]{% \usebibmacro{inst+loc+year}}% - \usebibmacro{caddendum}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isrn}}% @@ -3556,8 +5586,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3568,18 +5603,25 @@ \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{cmag+news+author}}% {\usebibmacro{author/editor}}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{music+eventdate}% 17th ed. \newcunit\newblock - \printeventdate% 16th ed. - \setunit{\addspace}% - \printfield{nameaddon}% 16th ed. + \printeventtime% \newcunit\newblock \ifboolexpr{% + ( test {\iffieldequalstr{relatedtype}{reviewof}}% + or + test {\iffieldequalstr{relatedtype}{commenton}}% + ) and togl {cms@citerel}% }% - {\usebibmacro{related:init}% - \usebibmacro{related}}% + {\toggletrue{cms@relreview}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \togglefalse{cms@relreview}}% {\printfield{title}% \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% @@ -3589,22 +5631,135 @@ \usebibmacro{language+transtitle}% \setunit{\addcomma\addspace}%\newblock% \usebibmacro{cpart+editor+translator}% - \newcunit% - \usebibmacro{issuetitle}% - \setunit{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@citecrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@citecrossref}% + }% + {\iffieldequalstr{relatedtype}{commenton}% + {\usebibmacro{eid+fullpostnote}% + \newcunit\newblock + \printfield{eid}% + \newcunit\newblock + \usebibmacro{caddendum}}% + {\newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addcomma\addspace}% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+date}% + \newcunit\newblock + \printfield{type}}% + {\usebibmacro{cjournal+issue+year+pages}}% + \usebibmacro{eid+fullpostnote}% + \newcunit\newblock + \printfield{eid}% + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \usebibmacro{cite:xref+finentry}}}% + {\usebibmacro{eid+fullpostnote}% + \newcunit\newblock + \printfield{eid}% + \newcunit\newblock + \usebibmacro{caddendum}}}% + {\usebibmacro{eid+fullpostnote}% + \newcunit\newblock + \printfield{eid}% + \newcunit\newblock + \usebibmacro{caddendum}}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldequalstr{relatedtype}{commenton}}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:standard}{% + \usebibmacro{bibindex}% + \iffieldundef{entrysubtype}% + {}% + {\ifnameundef{author}% + {\iflistundef{organization}% + {}% + {\printlist{organization}}}% + {\usebibmacro{justauthor}}% + \usebibmacro{hlpunct}}%\setunit{\addcomma\addspace}\newblock% + \usebibmacro{citaltitle+stitle}% + \newcunit + \usebibmacro{edition}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock \usebibmacro{cbyeditor+others}% - \setunit{\addcomma\addspace}% - \printfield{note}% - \setunit{\addcomma\addspace}% - \iffieldequalstr{entrysubtype}{magazine}% - {\usebibmacro{mag+news+date}}% - {\usebibmacro{cjournal+issue+year+pages}}% - \usebibmacro{fullpostnote}% \newcunit\newblock + \usebibmacro{series+or+shortser}% + \setunit*{\addnbspace}% + \printfield{number}% + \newcunit\newblock + \printfield{type}% + \newcunit + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. + \reprintpunct% + \iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\bibsstring{\thefield{pubstate}}}% + {\printfield[prenote]{pubstate}}% + \newcunit}% + \printlist{location}% + \iflistundef{organization}% + {\iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}}}% + {\setunit*{\addcolon\addspace}% + \printlist{organization}% + \setunit*{\addcomma\addspace}}% + \usebibmacro{date}% + \setunit{\addsemicolon\addspace}% + \printfield{howpublished}% + \setunit*{\addspace}% + \usebibmacro{music+eventdate}}% + \usebibmacro{fullpostnote}% \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% - {\printfield{issn}}% + {\printfield{isbn}}% {}% \newcunit\newblock \usebibmacro{cite+doi+url}% @@ -3616,9 +5771,10 @@ \ifboolexpr{% togl {cms@citerel}% and - not test {\iffieldequalstr{relatedtype}{reviewof}}% - }% + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3627,9 +5783,7 @@ \DeclareBibliographyDriver{cite:suppbook}{% \usebibmacro{bibindex}% \usebibmacro{author}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock + \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{inforaft}% \setunit{\addspace}\newblock \usebibmacro{citaltitle+stitle}% @@ -3642,6 +5796,8 @@ \newcunit \usebibmacro{bybookauthor}% \newcunit\newblock + \usebibmacro{cpart+editor+translator}% + \newcunit\newblock \usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% \newcunit \iffieldundef{edition}% @@ -3658,8 +5814,8 @@ \newcunit\newblock \usebibmacro{cpubl+loc+year}% \clearfield{pages}% ?? For 16th ed. - \usebibmacro{caddendum}% \usebibmacro{volfullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% {\printfield{isbn}}% @@ -3671,8 +5827,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3685,9 +5846,7 @@ \DeclareBibliographyDriver{cite:thesis}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{ctitle+stitle}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% @@ -3698,8 +5857,8 @@ \setunit{\addspace}% \printtext[parens]{% \usebibmacro{type+inst+year}}% - \usebibmacro{caddendum}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \usebibmacro{cite+doi+url}% \setunit{\shorthandpunct}% @@ -3707,8 +5866,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3717,9 +5881,7 @@ \DeclareBibliographyDriver{cite:unpublished}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \setunit{\addcomma\addspace}\newblock + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{ctitle+stitle}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -3744,8 +5906,8 @@ \iffieldundef{eventyear}% {\usebibmacro{date}}% {\printeventdate}}% - \usebibmacro{caddendum}% \usebibmacro{fullpostnote}% + \usebibmacro{caddendum}% \newcunit\newblock \usebibmacro{cite+doi+url}% \setunit{\shorthandpunct}% @@ -3753,8 +5915,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3762,20 +5929,38 @@ \DeclareBibliographyDriver{cite:video}{% \usebibmacro{bibindex}% - \usebibmacro{author/editor}% - \setunit{\addspace}% - \printfield{nameaddon}% - \newcunit\newblock - \usebibmacro{ctitle+stitle}% - \setunit{\addspace}\newblock% - \usebibmacro{language+transtitle}% - \newcunit - \usebibmacro{byauthor}% - \newcunit - \usebibmacro{cpart+editor+translator}% - \newcunit - \usebibmacro{chapinscore}% - \usebibmacro{btitle+bstitle}% + \ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + ( + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + ) + }% + {\usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{btitle+bstitle}% + \newcunit\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}}% + {\usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}}% \newcunit \iffieldundef{edition}% {}% @@ -3812,15 +5997,16 @@ \newcunit\newblock \usebibmacro{cser+num}% \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock \usebibmacro{music+eventdate}% \newcunit\newblock - \usebibmacro{cnotefield}% + \printfield{usera}% \newcunit\newblock \usebibmacro{cpubl+loc+year}% \newcunit\newblock \printfield{type}% Order of this and next? \usebibmacro{volfullpostnote}% - \newcunit\newblock \usebibmacro{caddendum}% \newcunit\newblock \iftoggle{cms@isbn}% @@ -3833,8 +6019,13 @@ \newcunit\newblock \usebibmacro{pageref}% \newcunit\newblock - \iftoggle{cms@citerel}% + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% {\usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% \usebibmacro{related}% \newcunit}% {}% @@ -3897,7 +6088,7 @@ \DeclareListFormat{periodplace}{\mkbibparens{#1}} -\DeclareListFormat{lista}{% +\DeclareListFormat{lista}{% \ifthenelse{\value{listtotal}<2}% {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}% {\ifthenelse{\value{listcount}=1}% @@ -3935,42 +6126,43 @@ {#1\isdot}% {\mkbibquote{#1\isdot}}} -\DeclareFieldFormat[artwork,image]{title}{% +\DeclareFieldFormat[artwork,image,inreference]{title}{% \iffieldundef{entrysubtype}% {\mkbibemph{#1}\isdot}% {#1\isdot}} -\DeclareFieldFormat[artwork,image]{citetitle}{% +\DeclareFieldFormat[artwork,image,inreference]{citetitle}{% \iffieldundef{entrysubtype}% {\mkbibemph{#1}\isdot}% {#1\isdot}} -\DeclareFieldFormat[artwork,image]{lostitle}{% +\DeclareFieldFormat[artwork,image,inreference]{lostitle}{% \iffieldundef{entrysubtype}% {\mkbibemph{#1}\isdot}% {#1\isdot}} -\DeclareFieldFormat[letter,patent]{title}{#1\isdot} +\DeclareFieldFormat[letter]{title}{#1\isdot} + +\DeclareFieldFormat[patent]{title}{\MakeSentenceCase*{#1}\isdot} + +\DeclareFieldFormat[letter]{citetitle}{#1\isdot} -\DeclareFieldFormat[letter,patent]{citetitle}{#1\isdot} +\DeclareFieldFormat[patent]{citetitle}{\MakeSentenceCase*{#1}\isdot} -\DeclareFieldFormat[letter,patent]{lostitle}{#1\isdot} +\DeclareFieldFormat[letter]{lostitle}{#1\isdot} + +\DeclareFieldFormat[patent]{lostitle}{\MakeSentenceCase*{#1}\isdot} \DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot} -\iftoggle{cms@comprange}% Audrey Boruvka's code from StackExchange -{\patchcmd{\blx@comprange@check}% - {\blx@comprange@comp{#1}{#2}}% - {\blx@tempcnta=#1% - \divide\blx@tempcnta100% - \multiply\blx@tempcnta100% - \ifnumequal{\blx@tempcnta}{#1}% - {\blx@range@out@value{#1\bibrangedash#2}}% - {\blx@comprange@comp{#1}{#2}}}% - {}{}}{}% +%% comprange code moved to .sty \DeclareFieldFormat{postnote}{% Changed for page compression option - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{pagination}% {\mkcomprange{#1}}% {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% @@ -3979,7 +6171,11 @@ {\mkpageprefix[pagination]{#1}}}}% \DeclareFieldFormat[inreference]{postnote}{% - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{pagination}% {\bibsstring{subverbo}\addspace\mkbibquote{#1}}% {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% @@ -4003,7 +6199,11 @@ {\printtext{at}\addspace #1}}}}% \DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{% - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{pagination}% {\mkcomprange[\mkjuridprefix]{#1}}% {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% @@ -4012,7 +6212,11 @@ {\mkpageprefix[pagination]{#1}}}}% \DeclareFieldFormat{pages}{% - \iftoggle{cms@comprange}% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% {\iffieldundef{bookpagination}% {\mkcomprange{#1}\isdot}% {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}% @@ -4020,13 +6224,6 @@ {#1\isdot}% {\mkpageprefix[bookpagination]{#1}}}}% -% \DeclareFieldFormat{edlang}{% -% \ifbibstring{#1}% -% {\bibstring{#1}}% -% {\ifbibstring{ed#1}% -% {\bibstring{ed#1}}% -% {\ifcapital{\MakeCapital{#1}}{#1}}}} - \DeclareListFormat{edlang}{% Required for feminine forms in some \usebibmacro{list:delim}{% languages \ifbibstring{#1}% @@ -4067,6 +6264,8 @@ #1}% {\printfield{nameaddon}\addspace #1}} +\DeclareFieldAlias[customc]{lostitle}[customc]{title} + \DeclareFieldFormat[misc]{title}{% \iffieldundef{entrysubtype}% {\mkbibemph{#1}\isdot}% @@ -4082,6 +6281,15 @@ {\mkbibemph{#1}\isdot}% {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} +\DeclareFieldFormat[dataset]{title}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +\DeclareFieldFormat[dataset]{citetitle}{% + \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldFormat[dataset]{lostitle}{% + \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + \DeclareFieldFormat[review,suppperiodical]{title}{% \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} @@ -4106,22 +6314,52 @@ {\mkbibquote{#1\isdot}}% {\mkbibemph{#1}\isdot}} -\DeclareFieldFormat[audio,music,video]{title}{% - \iffieldundef{booktitle}% +\DeclareFieldFormat[audio,music]{title}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% {\mkbibemph{#1}\isdot}% {\mkbibquote{#1\isdot}}} -\DeclareFieldFormat[audio,music,video]{citetitle}{% - \iffieldundef{booktitle}% +\DeclareFieldFormat[audio,music]{citetitle}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% {\mkbibemph{#1}\isdot}% {\mkbibquote{#1\isdot}}} -\DeclareFieldFormat[audio,music,video]{lostitle}{% - \iffieldundef{booktitle}% +\DeclareFieldFormat[audio,music]{lostitle}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% {\mkbibemph{#1}\isdot}% {\mkbibquote{#1\isdot}}} -\DeclareFieldFormat[jurisdiction,legal]{title}{#1\isdot} +\DeclareFieldFormat[video]{title}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat[video]{citetitle}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\mkbibemph{#1}\isdot}% + {\ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + and + not test {\iffieldundef{shorttitle}}% + }% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}}} + +\DeclareFieldFormat[video]{lostitle}{% + \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat[jurisdiction]{title}{% + \iftoggle{cms@running@text}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[legal]{title}{#1\isdot} \DeclareFieldFormat[legislation]{title}{% \iffieldequalstr{entrysubtype}{hearing}% @@ -4146,8 +6384,6 @@ %%%% Other Field Formats %%%% -\DeclareNumChars*{:}% For proper ibidem with multi-volume works. - \DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} \DeclareFieldFormat{note}{% @@ -4162,18 +6398,26 @@ {\MakeCapital{#1\isdot}}% {#1\isdot}}} -\DeclareFieldFormat[artwork,image]{type}{% +\DeclareFieldFormat[artwork,image,online,article,review,suppperiodical,book] +{type}{% + \ifcapital% + {\MakeCapital{#1}}% + {#1}} + +\DeclareFieldFormat[artwork,image,music]{howpublished}{% \ifcapital% {\MakeCapital{#1}}% {#1}} +\DeclareFieldFormat[video]{usera}{% + \bibstring{on}\addspace #1} + +\DeclareFieldFormat{version}{\bibsstring{version}\addspace #1}% + \DeclareFieldFormat{url}{\url{#1}} \DeclareFieldFormat{doi}{% - \textrm{doi}\addcolon - \ifhyperref - {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}} - {\nolinkurl{#1}}} + \url{https://doi.org/#1}} \DeclareFieldFormat[music]{date}{% Generalize userd ??? \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}% @@ -4187,6 +6431,37 @@ {#1}% {\printfield{userd}\addspace #1}} +\DeclareFieldFormat[artwork,image]{date}{% + \iffieldundef{origyear}% + {#1}% + {\iftoggle{cms@switchdates}% + {#1}% + {\iffieldundef{userd}% + {\bibstring{printed}\addspace #1}% + {\printfield{userd}\addspace #1}}}} + +\DeclareFieldFormat[artwork,image]{origdate}{% + \iffieldundef{year}% + {#1}% + {\iftoggle{cms@switchdates}% + {\iffieldundef{userd}% + {\bibstring{printed}\addspace #1}% + {\printfield{userd}\addspace #1}}% + {#1}}} + +\DeclareFieldFormat[artwork,image]{urldate}{% + \ifboolexpr{% + test {\iffieldundef{userd}}% + or + ( + not test {\iffieldundef{year}}% + and + not test {\iffieldundef{origyear}}% + ) + }% + {\bibstring{urlseen}\addspace #1}% + {\printfield{userd}\addspace #1}} + \DeclareFieldFormat{date}{% Generalize userd ??? \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}}% {#1}% @@ -4209,7 +6484,7 @@ {\printfield{userd}\addspace #1}} \DeclareFieldFormat[music]{origdate}{% 16th ed. - \iftoggle{cms@reprint}% Date fix + \iffieldequalstr{pubstate}{reprint}% Date fix {#1}% {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% {\bibstring{discrecorded}\addspace #1}% Can now match gender @@ -4229,7 +6504,12 @@ \DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! -\DeclareFieldFormat[review,suppperiodical]{nameaddon}{#1\bibsentence} +\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{#1\bibsentence} + +\DeclareFieldFormat[misc]{nameaddon}{% + \iffieldundef{entrysubtype}% + {\mkbibbrackets{#1\bibsentence}}% + {#1\bibsentence}} \DeclareFieldFormat[customc]{nameaddon}{% For cross-refs \ifbibstring{#1}% @@ -4264,7 +6544,7 @@ \DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? \DeclareFieldFormat{titleaddon}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}% \DeclareFieldAlias{booktitleaddon}{titleaddon} @@ -4335,6 +6615,8 @@ \DeclareFieldFormat{series}{#1\isdot} +\DeclareFieldFormat{shortseries}{#1\isdot} + \DeclareFieldFormat{addendum}{% \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} @@ -4351,6 +6633,10 @@ {\addcomma\addspace\bibstring{partvolume}~#1}% {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}} +\global\let\cmsnrpart\RN +\DeclareFieldFormat{nrpart}{\bibsstring{part}~\cmsnrpart{#1}}% Noterefs +\DeclareFieldFormat{nrchapter}{\bibsstring{chapter}~#1}% + \DeclareFieldFormat{xrefpart}{% xref revision ??? \ifnumerals{#1}% {\bibstring{partvolume}~#1}% @@ -4361,16 +6647,14 @@ {\bibsstring{part}~#1}% {#1\isdot}}% -\DeclareFieldFormat[legal,legislation]{chapter}{% - \ifthenelse{\iffieldequalstr{entrysubtype}{uk}\OR% - \iffieldequalstr{entrysubtype}{hansard}}% - {c\adddotspace #1}% - {\bibsstring{chapter}~#1}}% +\DeclareFieldFormat[legal,legislation]{chapter}{c\adddotspace #1}% + +\DeclareFieldFormat[music]{chapter}{\bibstring{track}~#1} %% This tries to get hyperlinks from shortened cross-ref'd notes to %% %% long notes working properly. Used in short and shorthand cites. %% -\DeclareFieldFormat{cmshyperlink}{% +\DeclareFieldFormat{cmshyperlink}{% Obsolete? \iffieldundef{crossref}% {\iffieldundef{xref}% {\bibhyperlink{\thefield{entrykey}}{#1}}% @@ -4431,6 +6715,34 @@ {\bibhyperlink{\thefield{crossref}}{#1}}% {\bibhyperlink{\thefield{entrykey}}{#1}}}} +\newrobustcmd*{\cmshyper}[1]{% + \ifbibliography% + {\ifboolexpr{% + test {\ifentryinbib{\thefield{entrykey}}}% + and + not togl {blx@skipbib}% + }% + {\printtext[bibhyperref]{#1}}% + {#1}}% + {\iftoggle{cms@allshort}% + {\iftoggle{blx@skipbib}{#1}{\printtext[bibhyperref]{#1}}}% + {\printtext[bibhyperlink]{#1}}}}% + +\newrobustcmd*{\cmsshhyper}[1]{% + \iffootnote% + {\iftoggle{cms@allshort}% + {\iftoggle{blx@skipbib}{#1}{\printtext[bibhyperref]{#1}}}% + {\printtext[bibhyperlink]{#1}}}% + {\ifboolexpr{% + test {\ifentryinbib{\thefield{entrykey}}}% + and + not togl {blx@skipbib}% + }% + {\printtext[bibhyperref]{#1}}% + {\iftoggle{cms@allshort}% + {#1}% + {\printtext[bibhyperlink]{#1}}}}}% + \DeclareFieldAlias[review]{volume}[article]{volume} \DeclareFieldAlias[suppperiodical]{volume}[article]{volume} @@ -4453,7 +6765,7 @@ {#1}}% \ifentrytype{jurisdiction}% {\newcunit}% - {\printunit{\relatedpunct}}}% + {\printunit{\relatedpunct}}}% Issue w/ printunit. Our bug? \DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib \ifboolexpr{% @@ -4469,11 +6781,6 @@ %%%% Commands, for users and internal %%%% -\newcommand*{\cbytypeeditor}{% - \iffieldundef{editortype}% - {\bibstring{cbytypeeditor}}% - {\bibstring{cbytype\thefield{editortype}}}}% - \renewcommand*{\multicitedelim}{\addsemicolon\addspace} \renewcommand*{\iffinalcitedelim}{% @@ -4490,45 +6797,27 @@ \global\csundef{@cmsst}}% } -\newcommand{\custpunct}{% - \iftoggle{cms@fullnote}% - {\iffieldequalstr{type}{plain}% - {}% - {\addcomma}}% - {\iftoggle{cms@shortnote}% - {\iffieldundef{postnote}% - {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}% - {}% - {\addperiod}}% - {\addcomma}}% - {\addperiod}}} - -\newcommand{\custpunctb}{% - \iftoggle{cms@fullnote}% - {\iffieldequalstr{userb}{plain}% - {}% - {\addcomma}}% - {\iftoggle{cms@shortnote}% - {\iffieldundef{postnote}% - {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}% - {}% - {\addperiod}}% - {\addcomma}}% - {\addperiod}}} - -\newcommand{\classicpunct}{% 16th ed. - \ifthenelse{\(\iffieldequalstr{entrysubtype}{classical}\AND% - \iffieldundef{labeltitle}\)\OR - \ifentrytype{letter}}% +\newcommand*{\classicpunct}{% 17th ed. + \ifboolexpr{% + ( + test {\iffieldequalstr{entrysubtype}{classical}}% + and + test {\iffieldundef{labeltitle}}% + ) + or + test {\ifentrytype{letter}}% + or + test {\ifentrytype{dataset}}% + }% {\setunit*{\addspace}}% {\setunit*{\addcomma\addspace}}} -\newcommand{\reprintpunct}{% +\newcommand*{\reprintpunct}{% \iftoggle{cms@fullnote}% {\setunit*{\addsemicolon\addspace}}% {\setunit*{\addperiod\addspace}}} -\newcommand{\encypunct}{% for named entries in an encyclopedia +\newcommand*{\encypunct}{% for named entries in an encyclopedia \iftoggle{cms@fullnote}% {\ifentrytype{book}% {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND @@ -4551,22 +6840,13 @@ {\addperiod}% {}}}}% -\newcommand{\postvolpunct}{\addcolon}% For vol:page customization +\newcommand*{\postvolpunct}{\addcolon}% For vol:page customization -\newcommand{\parttrans}{% +\newcommand*{\parttrans}{% \iftoggle{cms@fullnote}% {\bibstring{cbytranslator}\addspace}% {\bibstring{bytranslator}\addspace}}% -% \newcommand{\partedit}{% -% \iftoggle{cms@postposit}% Kludge to make it work in French. -% {\iftoggle{cms@fullnote}% -% {\bibstring{cbyeditoralt}\addspace}% -% {\bibstring{byeditoralt}\addspace}}% -% {\iftoggle{cms@fullnote}% -% {\bibstring{cbyeditor}\addspace}% -% {\bibstring{byeditor}\addspace}}}% - \protected\def\partedit#1{% \ifcat\noexpand~\noexpand#1% \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% @@ -4598,37 +6878,37 @@ \cms@tempa% }% -\newcommand{\part@edit@i}{% +\newcommand*{\part@edit@i}{% \iftoggle{cms@fullnote}% {\bibstring{cbyeditor}\addspace}% {\bibstring{byeditor}\addspace}}% -\newcommand{\partcomp}{% +\newcommand*{\partcomp}{% \iftoggle{cms@fullnote}% {\bibstring{cbycompiler}\addspace}% {\bibstring{bycompiler}\addspace}}% -\newcommand{\parteditandcomp}{% +\newcommand*{\parteditandcomp}{% \iftoggle{cms@fullnote}% {\bibstring{cbyeditorcp}\addspace}% {\bibstring{byeditorcp}\addspace}}% -\newcommand{\parttransandcomp}{% +\newcommand*{\parttransandcomp}{% \iftoggle{cms@fullnote}% {\bibstring{cbytranslatorcp}\addspace}% {\bibstring{bytranslatorcp}\addspace}}% -\newcommand{\partedittransandcomp}{% +\newcommand*{\partedittransandcomp}{% \iftoggle{cms@fullnote}% {\bibstring{cbyeditortrcp}\addspace}% {\bibstring{byeditortrcp}\addspace}}% -\newcommand{\parteditandtrans}{% +\newcommand*{\parteditandtrans}{% \iftoggle{cms@fullnote}% {\bibstring{cbyeditortr}\addspace}% {\bibstring{byeditortr}\addspace}}% -\newcommand{\reprint}{% +\newcommand*{\reprint}{% \iftoggle{cms@fullnote}% {\bibsstring{reprint}}% {\bibstring{reprint}}}% @@ -4666,10 +6946,10 @@ {\addspace}% {\iftoggle{cms@shortnote}% {\iffieldequalstr{entrysubtype}{classical}% - {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}% Makes classical + {\DeclareNumChars*{abcdeABCDE:}% Makes classical \iffieldpages{postnote}% test more accurate. See 17.253. {\addspace}% - {\addcomma\addspace}}% + {\addcomma\addspace}\DeclareNumChars{.}}% {\addcomma\addspace}}% 16th ed -- no more volumes test. {\iftoggle{cms@fullnote}% {\ifthenelse{\(\ifentrytype{article}\OR @@ -4715,8 +6995,8 @@ and not togl {cms@fullnote}% }% - {\addperiod\addspace}% - {\addcomma\addspace}} + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace \newcommand*{\nameadelim}{% \ifboolexpr{% @@ -4724,8 +7004,11 @@ and not togl {cms@fullnote}% }% - {\addperiod\addspace}% - {\addcomma\addspace}} + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace + +\DeclareDelimFormat{dateeradelim}{\addnbspace}% +\DeclareDelimFormat{dateaddelim}{\addnbspace}% \DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide \begingroup% final {by}. @@ -4740,7 +7023,7 @@ {\ifboolexpr{% test {\ifnumless{\value{listcount}}{\value{liststop}}}% or - test \ifmoreitems% + test {\ifmoreitems}% }% {\bibstring{from#1}}% {\bibstring{cfrom#1}}}% @@ -4754,7 +7037,7 @@ \ifboolexpr{% test {\ifnumequal{\value{listcount}}{\value{liststop}}}% and - test \ifmoreitems% + test {\ifmoreitems}% }% {\ifnumgreater{\value{liststop}}{1}% {\finalandcomma}% @@ -4830,7 +7113,7 @@ ( togl {cms@citecrossref}% and - togl {cms@bookcitexref}% + togl {cms@bookcitexref}% ) or not togl {cms@allshort}% @@ -4844,21 +7127,31 @@ {\cms@citetracker@xref}}% {\cms@citetracker@crossref}}}}% - \def\cms@citetracker@crossref{% cf. \blx@citetracker@global \ifbool{citetracker}% {\xifinlistcs\abx@field@crossref{blx@bsee@\the\c@refsection}% {}% - {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@crossref}}% + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@crossref% + \iffieldundef{clonesourcekey}% + {\cms@save@locdata{crossref}}{}}}% {}}% \def\cms@citetracker@xref{% cf. \blx@citetracker@global \ifbool{citetracker}% {\xifinlistcs\abx@field@xref{blx@bsee@\the\c@refsection}% {}% - {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@xref}}% + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@xref% + \iffieldundef{clonesourcekey}% + {\cms@save@locdata{xref}}{}}}% {}}% +\def\cms@citetracker@clonesourcekey{% + \ifbool{citetracker}% + {\xifinlistcs\abx@field@clonesourcekey{blx@bsee@\the\c@refsection}% + {}% + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@clonesourcekey% + \cms@save@locdata{clonesourcekey}}}% + {}}% \newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography \newunit\newblock @@ -4877,12 +7170,17 @@ {\setunit{\addspace}% \printtext[parens]{\printnames{holder}}}}} -\renewbibmacro*{byauthor}{% - \ifthenelse{\ifuseauthor\OR% - \ifnameundef{author}}% +\renewbibmacro*{byauthor}{% MT fix + \ifnameundef{author}% + {}% + {\ifboolexpr{% + test {\ifuseauthor}% + and not + test {\ifcsempty{abx@macro@author/editor}}% + }% {}% - {\bibstring{by}\addspace% - \printnames[byauthor]{author}}} + {\bibstring{byauthor}\addspace% + \printnames[byauthor]{author}}}} \newbibmacro*{byauthorpunct}{% \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}% @@ -4894,7 +7192,15 @@ {}% {\ifnamesequal{author}{bookauthor}% {}% - {\bibstring{by}\addspace\printnames[default]{bookauthor}% + {\bibstring{byauthor}\addspace\printnames[default]{bookauthor}% + \newcunit\newblock}}} + +\newbibmacro*{music+bookauthor}{% + \ifnameundef{bookauthor}% + {}% + {\ifnamesequal{author}{bookauthor}% + {}% + {\printnames[default]{bookauthor}% \newcunit\newblock}}} \newbibmacro*{editorpunct}{% @@ -4902,14 +7208,22 @@ \iffieldundef{maintitle}\AND\iffieldundef{issuetitle}\)% \OR\iffieldsequal{booktitle}{title}% Changed these for crossrefed \OR\iffieldsequal{maintitle}{title}}% entries. Create problems? - {\ifentrytype{video}% Change for Video type? Appears + {\ifboolexpr{% + test {\ifentrytype{video}}% Change for Video type? Appears + or + togl {cms@mtvolpunct}% + }% {\newcunit\newblock}% to treat italicized title as booktitle in {\newunit\newblock}}% available examples. Added issuetitle 0.9.9c. {\newcunit\newblock}} \newbibmacro*{edition}{% \printfield{edition}% - \clearfield{edition}}% + \clearfield{edition}}% + +\newbibmacro*{version}{% + \printfield{version}% + \clearfield{version}}% \newbibmacro*{inforaft}{% \ifnameundef{introduction}% @@ -4932,9 +7246,14 @@ \newbibmacro*{mag+news+author}{% \ifnameundef{author}% - {\ifthenelse{\iffieldequals{journaltitle}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\bibnamedash\addperiod\addspace}% + {\ifboolexpr{% + test {\iffieldequals{journaltitle}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% {\usebibmacro{journal+sub}% \setunit*{\addspace}% \printlist[periodplace]{location}% @@ -4955,7 +7274,7 @@ \newcunit \printlist{institution}% \setunit*{\addcomma\addspace}% - \usebibmacro{cmsyear}} + \usebibmacro{date}}% Instead of cmsyear \newbibmacro*{institution+organization}{% \iflistundef{organization}% @@ -4966,6 +7285,35 @@ \newcunit% \printlist{institution}}} +\newbibmacro*{misc+institution+organization}{% 17th ed. + \iffieldundef{number}% + {\iflistundef{organization}% + {\iflistundef{institution}% + {}% + {\printlist{institution}}}% + {\printlist{organization}% + \newcunit% + \printlist{institution}}}% + {\iflistundef{organization}% + {\iflistundef{institution}% + {\newcunit\printfield{number}}% + {\newcunit\printfield{number}% + \iftoggle{cms@fullnote}% + {\newcunit}% + {\newunit}% + \printlist{institution}}}% + {\iflistundef{institution}% + {\newcunit\printfield{number}% + \iftoggle{cms@fullnote}% + {\newcunit}% + {\newunit}% + \printlist{organization}}% + {\printlist{organization}% + \newcunit% + \printfield{number}% + \newcunit% + \printlist{institution}}}}} + \newbibmacro*{bibauthor+org}{% \ifnameundef{author}% {\ifnameundef{editor}% @@ -4975,8 +7323,10 @@ test {\iflistequals{organization}{\bbx@lasthash}}% and not test {\iffirstonpage}% + and + togl {cms@namedash}% }% - {\bibnamedash\addperiod\addspace}% + {\printtext{\bibnamedash}}% {\printlist{organization}% \savelist{organization}{\bbx@lasthash}}}}% {\usebibmacro{editor}}}% @@ -4991,10 +7341,19 @@ {\usebibmacro{editor}}}% {\usebibmacro{author/editor}}} +\renewbibmacro*{bytypestrg}[2]{% From biblatex.def + \iffieldundef{#1type}% + {\bibstring{by#2}}% + {\ifbibxstring{by\thefield{#1type}}% + {\bibstring{by\thefield{#1type}}}% + {\printtext[note]{\thefield{#1type}}}}}% + \newbibmacro*{cbytypestrg}[2]{% \iffieldundef{#1type}% {\bibstring{cby#2}}% - {\bibstring{cby\thefield{#1type}}}}% + {\ifbibxstring{cby\thefield{#1type}}% + {\bibstring{cby\thefield{#1type}}}% + {\printtext[note]{\thefield{#1type}}}}}% \newbibmacro*{cbyeditor}{% \ifnameundef{editor}% @@ -5104,7 +7463,7 @@ {\edef\@tempa{\@tempa af}% \clearname{afterword}}% {}}}% - \bibstring{\@tempa}\addspace% + \bibstring{\@tempa}\addspace% \setunit here? \printnames[byeditor]{editor}% \clearname{editor}% \newcunit% @@ -5202,7 +7561,7 @@ \printnames[byeditor]{namea}% \ifnameundef{nameb}% {}% - {\newunit% + {\usebibmacro{related:mtpunct}%\newunit% MT fix \bibstring{bytranslator}\addspace% \printnames[bytranslator]{nameb}}}}% {\usebibmacro{bytypestrg}{namea}{editor}% @@ -5210,7 +7569,7 @@ \printnames[byeditor]{namea}% \ifnameundef{nameb}% {}% - {\newunit% + {\usebibmacro{related:mtpunct}%\newunit% MT fix \bibstring{bytranslator}\addspace% \printnames[bytranslator]{nameb}}}}} @@ -5237,7 +7596,7 @@ \printnames[byeditor]{namea}% \ifnameundef{nameb}% {}% - {\newunit% + {\newcunit% \bibstring{cbytranslator}\addspace% \printnames[bytranslator]{nameb}}}}} @@ -5254,8 +7613,11 @@ \ifcsdef{cbx@incollpart}% {\restorefield{part}{\cbx@incollpart}}% {}% - \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% - \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% + \ifboolexpr{% + test {\IfBeginWith{\thefield{entrytype}}{mv}}% + and + not test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}% + }% {\printfield{volume}% \clearfield{volume}% \global\let\cbx@incollvol\undefined% Volume fix @@ -5271,8 +7633,11 @@ {\restorefield{part}{\cbx@incollpart}\toggletrue{cms@xrefpart}}% {}}% {}% - \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% - \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% + \ifboolexpr{% + test {\IfBeginWith{\thefield{entrytype}}{mv}}% + and + not test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}% + }% {\printfield[xrefpart]{part}% \clearfield{part}% \global\let\cbx@incollpart\undefined% Volume fix @@ -5313,19 +7678,35 @@ \newbibmacro*{chapinscore}{% \iffieldundef{chapter}% {\ifboolexpr{% - test {\ifentrytype{music}}% 16th ed. + not test {\iffieldundef{eventyear}}% and not test {\iffieldundef{booktitle}}% and + test {\ifentrytype{audio}}% + and not togl {cms@origpublished}% }% - {\bibstring{on}\setunit{\addspace}}% + {\bibstring{in}\setunit{\addspace}}% {}}% {\printfield{chapter}\clearfield{chapter}% \iffieldundef{booktitle}% {}% {\addspace\bibstring{of}\setunit{\addspace}}}}% +\newbibmacro*{chap+as+track}{% + \iffieldundef{chapter}% + {\ifboolexpr{% + not test {\iffieldundef{booktitle}}% + and + not togl {cms@origpublished}% + }% + {\bibstring{on}\setunit{\addspace}}% + {}}% + {\printfield{chapter}\clearfield{chapter}% + \iffieldundef{booktitle}% + {}% + {\addspace\bibstring{on}\setunit{\addspace}}}}% + \newbibmacro*{caddendum}{% New macros for 16th ed. field exclusion \ifboolexpr{% togl {cms@addendum}% @@ -5342,20 +7723,51 @@ \newbibmacro*{cser+num}{% \iftoggle{cms@bookseries}% - {\printfield{series}% + {\usebibmacro{series+or+shortser}% \printfield[sernum]{number}}% {}}% \newbibmacro*{ser+num}{% - \printfield{series}% + \usebibmacro{series+or+shortser}% \printfield[sernum]{number}} +\newbibmacro*{series+or+shortser}{% + \iffieldundef{shortseries}% + {\printfield{series}}% + {\ifboolexpr{% + ( + test {\ifcitation}% + and + togl {cms@citeshser}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibshser}% + ) + }% + {\printfield{shortseries}}% + {\printfield{series}}}} + \newbibmacro*{music+origdate}{% - \iftoggle{cms@reprint}% 16th ed. + \iffieldequalstr{pubstate}{reprint}% 17th ed. {}% {\iffieldundef{origyear}% {}% - {\usebibmacro{cmsorigdate}}}}% Date fix + {\usebibmacro{cmsorigdate}}% + \iffieldundef{pubstate}% + {}% + {\iffieldbibstring{pubstate}% + {\iftoggle{cms@fullnote}% + {\newcunit + \bibsstring{\thefield{pubstate}}}% + {\newunit + \biblstring{\thefield{pubstate}}}}% + {\iftoggle{cms@fullnote}% + {\newcunit}% + {\newunit}% + \printfield[prenote]{pubstate}}}}}% Date fix \newbibmacro*{music+eventdate}{% \iffieldundef{eventyear}% @@ -5365,20 +7777,17 @@ \newbibmacro*{ctitle+stitle}{% New test here for related entries. \iffieldundef{title}% {}% - {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + {\printtext[title]{% \printfield[tnoformat]{title}% \setunit{\subtitlepunct}% \printfield[stnoformat]{subtitle}}}% \setunit{\ctitleaddonpunct}% \printfield{titleaddon}}% -% \setunit{\addspace}}% -% \usebibmacro{language+transtitle}% -% \setunit*{\addcomma}\newblock} \newbibmacro*{citaltitle+stitle}{% New test, as above. \iffieldundef{title}% {}% - {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + {\printtext[title]{% \printfield[tnoformat]{title}% \setunit{\subtitlepunct}% \printfield[stnoformat]{subtitle}}}% @@ -5389,18 +7798,15 @@ \newcunit\newblock} \newbibmacro*{title+stitle}{% - \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printtext[title]{% \printfield[noformat]{title}% \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% \setunit{\ptitleaddonpunct}% \printfield{titleaddon}}% -% \setunit{\addspace}}% -% \usebibmacro{language+transtitle}% -% \newunit\newblock} \newbibmacro*{italtitle+stitle}{% - \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printtext[title]{% \printfield[noformat]{title}% \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% @@ -5411,7 +7817,7 @@ \newunit\newblock} \newbibmacro*{mag+news+title}{% - \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printtext[title]{% \printfield[noformat]{title}% \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% @@ -5424,12 +7830,12 @@ {\usebibmacro{related:init}% \usebibmacro{related}}% {\printfield{titleaddon}}% - }%\newcunit\newblock} + }% \newbibmacro*{cmag+news+title}{% - \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printtext[title]{% \printfield[noformat]{title}% - \setunit{\subtitlepunct}%{\addcolon\addspace}% + \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% \setunit{\ctitleaddonpunct}% \ifboolexpr{% @@ -5437,22 +7843,25 @@ and togl {cms@citerel}% }% - {\usebibmacro{related:init}% - \usebibmacro{related}}% + {\toggletrue{cms@relreview}% + \usebibmacro{related:init}% + \usebibmacro{related:noterefhelper}% + \usebibmacro{related}% + \togglefalse{cms@relreview}}% {\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) + {\printtext[title]{% \printfield[noformat]{title}% \setunit{\subtitlepunct}% \printfield[noformat]{subtitle}}% \setunit{\ctitleaddonpunct}% \printfield{titleaddon}% - }}%\newcunit\newblock} + }}% \newbibmacro*{language+transtitle}{% \iffieldundef{usere}% @@ -5484,18 +7893,21 @@ \setunit{\subtitlepunct}% \printfield[sbtnoformat]{booksubtitle}}% \setunit{\ctitleaddonpunct}% - \printfield{booktitleaddon}% - \setunit*{\addcomma\addspace}}} + \printfield{booktitleaddon}}}% -\newbibmacro*{publ+loc+year}{% Revised for reprint - \ifboolexpr{% - togl {cms@reprint}% - and - not test {\ifentrytype{video}}% - }% - {\bibstring{reprint}% - \newcunit}% +\newbibmacro*{publ+loc+year}{% Revised for reprint (17th ed.) + \iffieldundef{pubstate}% {}% + {\iffieldequalstr{pubstate}{reprint}% + {\ifentrytype{video}% + {}% + {\bibstring{reprint}% + \newcunit}}% + {\iffieldbibstring{pubstate}% + {\bibstring{\thefield{pubstate}}% + \newcunit}% + {\printfield[prenote]{pubstate}% + \newcunit}}}% \printlist{location}% \iflistundef{publisher}% {\setunit*{\addcomma\addspace}}% @@ -5515,12 +7927,17 @@ \usebibmacro{cmsorigdate}% } -\newbibmacro*{howpubl+loc+year}{% Revised for reprint +\newbibmacro*{howpubl+loc+year}{% Revised for reprint (17th ed) \usebibmacro{cmsorigdate}% \reprintpunct% - \iftoggle{cms@reprint}% - {\reprint\newcunit}% + \iffieldundef{pubstate}% {}% + {\iffieldbibstring{pubstate}% + {\iftoggle{cms@fullnote}% + {\bibsstring{\thefield{pubstate}}}% + {\biblstring{\thefield{pubstate}}}}% + {\printfield[prenote]{pubstate}}% + \newcunit}% \printlist{location}% \iffieldundef{howpublished}% {\setunit*{\addcomma\addspace}}% @@ -5530,12 +7947,17 @@ \usebibmacro{date}% } -\newbibmacro*{inst+loc+year}{% Revised for reprint - \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. +\newbibmacro*{inst+loc+year}{% Revised for reprint (17th ed) + \usebibmacro{origpubl+loc+year}% 16th ed. \reprintpunct% - \iftoggle{cms@reprint}% - {\reprint\newcunit}% + \iffieldundef{pubstate}% {}% + {\iffieldbibstring{pubstate}% + {\iftoggle{cms@fullnote}% + {\bibsstring{\thefield{pubstate}}}% + {\biblstring{\thefield{pubstate}}}}% + {\printfield[prenote]{pubstate}}% + \newcunit}% \printlist{location}% \iflistundef{institution}% {\setunit*{\addcomma\addspace}}% @@ -5553,21 +7975,64 @@ and test {\iffieldundef{year}}% and - not togl {cms@reprint}% + test {\iffieldundef{pubstate}}% 17th ed }% {}% {\setunit{\addspace}% \printtext[parens]{% - \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printfield{origyear}% + \usebibmacro{origpubl+loc+year}% \setunit*{\addsemicolon\addspace}% - \ifboolexpr{% - togl {cms@reprint}% - and - not test{\ifentrytype{video}}% - }% - {\bibsstring{reprint}% - \newcunit}% + \iffieldundef{pubstate}% 17th ed + {}% + {\iffieldequalstr{pubstate}{reprint}% + {\ifentrytype{video}% + {}% + {\bibsstring{reprint}% + \newcunit}}% + {\iffieldbibstring{pubstate}% + {\bibsstring{\thefield{pubstate}}% + \newcunit}% + {\printfield[prenote]{pubstate}% + \newcunit}}}% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{publisher}% + \setunit{\addcomma\addspace}% + \usebibmacro{date}}}}% + +\newbibmacro*{crefpubl+loc+year}{% 17th ed. + \ifboolexpr{% + test {\iflistundef{location}}% + and + test {\iflistundef{publisher}}% + and + test {\iffieldundef{year}}% + and + test {\iffieldundef{pubstate}}% + and + test {\iffieldundef{note}}% + }% + {}% + {\setunit{\addspace}% + \printtext[parens]{% + \usebibmacro{origpubl+loc+year}% + \setunit*{\addsemicolon\addspace}% + \iffieldundef{pubstate}% {}% + {\iffieldequalstr{pubstate}{reprint}% + {\ifentrytype{video}% + {}% + {\bibsstring{reprint}% + \newcunit}}% + {\iffieldbibstring{pubstate}% + {\bibsstring{\thefield{pubstate}}% + \newcunit}% + {\printfield[prenote]{pubstate}% + \newcunit}}}% + \usebibmacro{cnotefield}% + \setunit*{\addcomma\addspace}% \printlist{location}% \iflistundef{publisher}% {\setunit*{\addspace}}% @@ -5595,8 +8060,8 @@ \setunit{\addcomma\addspace}% \usebibmacro{date}}}}% Changed for 0.9 -\newbibmacro*{originally+published+as}{% Punctuation fix now in - \iffieldundef{userf}% \origfullcite for 0.8e. +\newbibmacro*{originally+published+as}{% Punctuation fix now in + \iffieldundef{userf}% \origfullcite for 0.8e. {\iffieldundef{reprinttitle}% {}% {\usebibmacro{begrelated}% @@ -5628,9 +8093,14 @@ \newbibmacro*{org+publ+loc+year}{% What was wrong with \ifthenelse here? \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. \reprintpunct% - \iftoggle{cms@reprint}% Revised for reprint - {\reprint\newcunit}% + \iffieldundef{pubstate}% {}% + {\iffieldbibstring{pubstate}% + {\iftoggle{cms@fullnote}% + {\bibsstring{\thefield{pubstate}}}% + {\biblstring{\thefield{pubstate}}}}% + {\printfield[prenote]{pubstate}}% + \newcunit}% \printlist{location}% \iflistundef{organization}% {\iflistundef{publisher}% @@ -5643,44 +8113,10 @@ \setunit*{\addcomma\addspace}% \usebibmacro{date}} -\newbibmacro*{year+in+parens}{% - \iffieldundef{volume}% - {noformat}% - {parens}} - \newbibmacro*{cjournal+issue+year+pages}{% - \usebibmacro{cjournal+ser+vol+num}% - \ifboolexpr{% 16th ed. - test {\iffieldundef{issue}}% - and - test {\iffieldundef{year}}% - and - not togl {cms@switchdates}% - }% - {\iffieldundef{number}% - {\ifthenelse{\iffieldundef{pagination}\AND% - \iffieldundef{bookpagination}}% - {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}}% - {\addcomma\addspace}}% - {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. - {\newcunit% - \iffieldundef{issue}% - {\usebibmacro{number+or+month}}% - {\printfield{issue}% - \setunit{\addspace}% - \usebibmacro{cmsyear}}% - \addcomma\addspace}% - {\setunit{\addspace}% - \printtext[parens]{% parens is the default here - \iffieldundef{issue}% - {\usebibmacro{number+or+month}}% - {\printfield{issue}% - \setunit{\addspace}% - \usebibmacro{cmsyear}}}}}} - -\newbibmacro*{cperiodical+issue+year+pages}{% For periodicals, - \usebibmacro{cperiodical+ser+vol+num}% subtype article + \ifentrytype{periodical}% + {\usebibmacro{cperiodical+ser+vol+num}}% + {\usebibmacro{cjournal+ser+vol+num}}% \ifboolexpr{% 16th ed. test {\iffieldundef{issue}}% and @@ -5690,7 +8126,7 @@ }% {\iffieldundef{number}% {\ifthenelse{\iffieldundef{pagination}\AND% - \iffieldundef{bookpagination}}% + \iffieldundef{bookpagination}\AND\iffieldundef{eid}}% {\setunit{\postvolpunct}}% {\setunit{\addcolon\addspace}}}% {\addcomma\addspace}}% @@ -5716,28 +8152,32 @@ {\printlist{origlocation}% \newcunit\newblock}% \iftoggle{cms@switchdates}% - {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% {}% - {\cms@datelongalt}}% - {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% {}% - {\cms@datelong}}} + {\cms@datelong{orig}}}} \newbibmacro*{unpubl+letter+date}{% For Misc entries - \iflistundef{origlocation}% + \iffieldundef{venue}% {}% - {\printlist{origlocation}% + {\printfield{venue}% \newcunit\newblock}% \iftoggle{cms@switchdates}% - {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% {}% - {\cms@datelongalt}}% - {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% {\printdate}% For interviews and other dated non-letters. - {\cms@datelong}}} + {\cms@datelong{orig}}}} -\newbibmacro*{pubstate}{% - \iftoggle{cms@reprint}% +\newbibmacro*{music+pubstate}{% + \iffieldequalstr{pubstate}{reprint}% {\iftoggle{cms@switchdates}% {\iffieldundef{year}% {}% @@ -5762,6 +8202,15 @@ {\printorigdate}% {\printdate}} +\newbibmacro*{time+stamp}{% 17th ed. + \iftoggle{cms@switchdates}% + {\iffieldundef{orighour}% + {}% + {\newcunit\printorigtime}}% + {\iffieldundef{hour}% + {}% + {\newcunit\printtime}}} + \newbibmacro{cite:xref+date}{% \ifboolexpr{% togl {cms@omitxrefdate}% @@ -5818,8 +8267,8 @@ \newbibmacro*{cmsyear}{% \iftoggle{cms@switchdates}% - {\printfield{origyear}}% - {\printfield{year}}} + {\printorigdateextra}% \printfield{origyear} + {\printdateextra}}% \printfield{year} \newbibmacro*{number+or+month}{% \iffieldundef{number}% @@ -5828,36 +8277,37 @@ {\usebibmacro{date}}% {\usebibmacro{cmsyear}}}} -\newcommand*{\cms@datelong}{% Modified for 0.9 - \iffieldundef{origmonth}% - {\printfield{origyear}}% - {\printfield[letterday]{origday}\setunit*{\nobreakspace}% Bug fix - \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}% - \printfield{origyear}}}% - -\newcommand*{\cms@datelongalt}{% Modified for 0.9 - \iffieldundef{month}% - {\printfield{year}}% - {\printfield[letterday]{day}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}% - \printfield{year}}}% - -\newcommand*{\letterdatelong}{% Modified for 0.9 - \iftoggle{cms@switchdates}% This one for users - {\iffieldundef{year}% Previous two for internal use +\newcommand*{\cms@datelong}[1]{% Modified for 17th ed. + \begingroup + \protected\def\mkbibdatelong##1##2##3{% + \iffieldundef{##3}% {}% - {\iffieldundef{month}% - {\printfield{year}}% - {\printfield[letterday]{day}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}% - \printfield{year}}}}% - {\iffieldundef{origyear}% + {\iftoggle{cms@ukord}% + {\mkbibordinal{\thefield{##3}}}% + {\stripzeros{\thefield{##3}}}% + \iffieldundef{##2}{}{\nobreakspace}}% + \iffieldundef{##2}% {}% - {\iffieldundef{origmonth}% - {\printfield{origyear}}% - {\printfield[letterday]{origday}\setunit*{\nobreakspace}% - \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}% - \printfield{origyear}}}}}% + {\mkbibmonth{\thefield{##2}}% + \iffieldundef{##1}{}{\space}}% + \iffieldbibstring{##1}% + {\bibstring{\thefield{##1}}}% + {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}% + \cms@mkbibrangetrunc{long}{#1}% + \endgroup}% + +\newrobustcmd*{\letterdatelong}{% For users: 17th ed. + \ifboolexpr{% + test {\ifdefstring{\blx@languagename}{american}}% + or + test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel + }% + {\iftoggle{cms@switchdates}% + {\cms@datelong{}}% + {\cms@datelong{orig}}}% + {\iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}}}% \newbibmacro*{cjournal+ser+vol+num}{% \usebibmacro{journal+sub}% @@ -5871,10 +8321,7 @@ \newcunit}%\setunit*{\addspace}? \printfield[jourvol]{volume}% \setunit{\addcomma\addspace}% need * here? - \printfield[journum]{number}% - \setunit{\addcomma\addspace}% - \printfield{eid}% - \newunit}% + \printfield[journum]{number}}% Moved eid for 17th ed. \newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries, \ifboolexpr{% article subtype @@ -5908,10 +8355,7 @@ \newcunit}%\setunit*{\addspace}? \printfield[jourvol]{volume}% \setunit{\addcomma\addspace}% need * here? - \printfield[journum]{number}% - \setunit{\addcomma\addspace}% - \printfield{eid}% - \newunit} + \printfield[journum]{number}}% Move eid field for 17th ed. \newbibmacro*{journal+sub}{% \iffieldundef{journaltitle}% @@ -5944,8 +8388,15 @@ togl {cms@url}% and not test {\iffieldundef{urlyear}}% + }% + {\printurldate% + \ifboolexpr{% 17th ed. + togl {cms@urltime}% + and + not test {\iffieldundef{urlhour}}% }% - {\printurldate}% Date fix + {\newcunit\printurltime}% + {}}% Date fix {}% \newcunit\newblock \iftoggle{cms@doionly}% @@ -5983,17 +8434,29 @@ \setunit*{\addcomma\addspace}% \printfield{pages}} -\newbibmacro*{mag+news+date}{% 16th ed. +\newbibmacro*{mag+news+date}{% 17th ed. \iftoggle{cms@fullnote}% - {\usebibmacro{mag+date+issue}}% + {\usebibmacro{cmag+date+issue}}% {\ifnameundef{author}% - {\usebibmacro{date+issue}}% + {\iffieldundef{maintitle}% + {\newunit\newblock}% Punctuation differs after title and jtitle + {\printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}% + \newcunit\newblock}% + \printfield{usera}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{date+issue}}% {\usebibmacro{mag+date+issue}}}} \newbibmacro*{date+issue}{% \iffieldundef{issue}% {\iffieldundef{number}% - {\usebibmacro{date}}% + {\usebibmacro{date}% + \usebibmacro{time+stamp}}% 17th ed. {\iftoggle{cms@numbermonth}% For exclusion of month {\usebibmacro{date}}% {\usebibmacro{cmsyear}}% @@ -6003,10 +8466,37 @@ \setunit{\addspace}% \usebibmacro{cmsyear}}} +\newbibmacro*{cmag+date+issue}{% + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + \newbibmacro*{mag+date+issue}{% \usebibmacro{journal+sub}% \setunit*{\addspace}% \printlist[periodplace]{location}% + \newunit\newblock + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} \newcunit\newblock \printfield{usera}% For network ID and possible section of newspaper. \newcunit\newblock @@ -6036,6 +8526,15 @@ \printfield[stnoformat]{subtitle}}}% \setunit*{\addspace}% \printlist[periodplace]{location}% + \iftoggle{cms@fullnote}{\newcunit}{\newunit}% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} \newcunit\newblock \printfield{usera}% For network ID and possible section of newspaper. \newcunit\newblock @@ -6069,6 +8568,7 @@ \newbibmacro*{cmtitle+mstitle+vol+part+btitle+bstitle}{% \usebibmacro{btitle+bstitle}% + \newcunit% MT Fix \iffieldundef{maintitle}% {}% {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR% @@ -6116,37 +8616,41 @@ \iftoggle{cms@fullnote}% {\global\togglefalse{cms@shortnote}% \global\togglefalse{cms@fullnote}}% - {\iftoggle{cms@printshhand}% - {\iffieldundef{postnote}% - {\iffieldundef{shorthand}% - {\global\togglefalse{cms@printshhand}% - \global\togglefalse{cms@shortnote}% - \global\togglefalse{cms@fullnote}}% - {\setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \global\togglefalse{cms@printshhand}% - \global\togglefalse{cms@shortnote}% - \global\togglefalse{cms@fullnote}}}% - {\iffieldundef{shorthand}% - {\postnotewrapper%delim% - \usebibmacro{semel:postnote}% - \global\togglefalse{cms@printshhand}% + {\IfBeginWith{\thefield{entrytype}}{mv}% + {\usebibmacro{crossref:volume+postnote}}% + {\iftoggle{cms@printshhand}% + {\iffieldundef{postnote}% + {\iffieldundef{shorthand}% + {\global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}% + {\setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}}% + {\iffieldundef{shorthand}% + {\postnotewrapper%delim% + \usebibmacro{semel:postnote}% + \global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}% + {\postnotewrapper%delim% + \usebibmacro{semel:postnote}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}}}% + {\iffieldundef{postnote}% + {\usebibmacro{print+noteref}% \global\togglefalse{cms@shortnote}% \global\togglefalse{cms@fullnote}}% {\postnotewrapper%delim% \usebibmacro{semel:postnote}% - \setunit{\shorthandpunct}% - \usebibmacro{cms:shorthandintro}% - \global\togglefalse{cms@printshhand}% + \usebibmacro{print+noteref}% \global\togglefalse{cms@shortnote}% - \global\togglefalse{cms@fullnote}}}}% - {\iffieldundef{postnote}% - {\global\togglefalse{cms@shortnote}% - \global\togglefalse{cms@fullnote}}% - {\postnotewrapper%delim% - \usebibmacro{semel:postnote}% - \global\togglefalse{cms@shortnote}% - \global\togglefalse{cms@fullnote}}}}}% + \global\togglefalse{cms@fullnote}}}}}}% \newbibmacro*{fullpostnote}{% \iffieldundef{postnote}% @@ -6160,6 +8664,22 @@ {\postnotewrapper%delim% Don't need \ifbibliography test w/ following \usebibmacro{semel:postnote}}} +\newbibmacro*{eid+fullpostnote}{% + \iffieldundef{postnote}% + {\iffieldundef{chapter}% + {\iffieldundef{pages}% + {\iffieldundef{eid}% + {}% + {\postnotedelim% + \printfield{eid}% + \clearfield{eid}}}% + {\postnotedelim% + \printfield{pages}}}% + {\postnotedelim% + \printfield{chapter}}}% + {\postnotewrapper% + \usebibmacro{semel:postnote}}} + \newbibmacro*{juridpostnote}{% \iftoggle{cms@fullnote}% {\iffieldundef{issue}% @@ -6289,6 +8809,9 @@ \printfield{volumes}}}} \newbibmacro*{crossref:volume+postnote}{% + \IfBeginWith{\thefield{entrytype}}{mv}% + {\usebibmacro{extract+mt+vol}}% + {}% \ifcsdef{cbx@incollpgn}% {\restorefield{pagination}{\cbx@incollpgn}}% {}% @@ -6395,7 +8918,8 @@ {\ifcsdef{cbx@incollpages}% {\restorefield{pages}{\cbx@incollpages}% \usebibmacro{fullpostnote}}% - {\usebibmacro{fullpostnote}}}}}}}% + {\usebibmacro{fullpostnote}}}}}}% + \usebibmacro{print+noteref}}% \newbibmacro*{pages+cref+print}{% Reusable chunk for above \iffieldundef{part}% @@ -6442,6 +8966,12 @@ \usebibmacro{semel:postnote}}} \newbibmacro*{xrefprenote}{% + \ifboolexpr{% Kludgy fix for spurious idem + test {\ifdefvoid{\blx@idemtracker}}% + or + test {\ifbibliography}% + }% + {}{\blx@idemtracker}% \iffieldundef{volume}{}{\savefield{volume}{\cbx@incollvol}}% \iffieldundef{pages}{}{\savefield{pages}{\cbx@incollpages}}% \iffieldundef{part}{}{\savefield{part}{\cbx@incollpart}}% @@ -6471,23 +9001,10 @@ \global\let\cbx@incollpgn\undefined% \global\let\cbx@incollbkpgn\undefined}% -\newbibmacro*{hlprenote}{% Removes spurious comma after prenote in - \iffieldundef{prenote}% \headlessfullnote citations. - {}% - {\printfield{prenote}% - \nopunct}}% Do we need \unspace here? - -\newbibmacro*{hlcprenote}{% As previous, but for generalized \headlesscite - \iffieldundef{prenote}% command, rather than \headlessfullcite. - {\bibsentence}% Needed for Ibid to be capitalized. - {\printfield{prenote}% - \ifboolexpr{% - test {\ifciteseen}% - or - togl {cms@allshort}% - }% - {\addspace}% - {\nopunct}}}% Do we need \unspace here? +\newbibmacro*{hlpunct}{% + \iftoggle{cms@headlessnote}% + {}% + {\newcunit\newblock}} \newbibmacro*{journalprenote}{% \iffieldundef{prenote}% @@ -6587,6 +9104,29 @@ \noinherit{indexsorttitle} } +\DeclareDataInheritance{mvcollection}{book}{% MT revision + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\AtEndPreamble{% + \iftoggle{cms@blogurl}% 17th ed. blogs w/ comments + {\DeclareDataInheritance{article}{review,suppperiodical}{% + \inherit{url}{url}% + }}{}% + \@ifpackageloaded{endnotes}% + {\patchcmd\theendnotes + {\enoteformat} + {\toggletrue{cms@endnote}\enoteformat} + {} + {\blx@err@patch{'endnotes' package}}}% + {}}% + \DeclareDataInheritance{*}{*}{% \noinherit{namea} \noinherit{nameb} @@ -6597,6 +9137,9 @@ \noinherit{urlyear} \noinherit{urlmonth} \noinherit{urlday} + \noinherit{urlseason} + \noinherit{urlhour} + \noinherit{urlminute} \noinherit{doi} \noinherit{eprint} \noinherit{eprinttype} @@ -6607,15 +9150,19 @@ \noinherit{year} \noinherit{month} \noinherit{day} + \noinherit{season} \noinherit{endyear} \noinherit{endmonth} \noinherit{endday} + \noinherit{endseason} \noinherit{origyear} \noinherit{origmonth} \noinherit{origday} + \noinherit{origseason} \noinherit{origendyear} \noinherit{origendmonth} - \noinherit{origendday}} + \noinherit{origendday} + \noinherit{origendseason}} \DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7 \sort{ @@ -6651,12 +9198,22 @@ } } +\DeclareSortExclusion{misc,online}{organization} +\DeclareSortExclusion{inreference,mvreference,reference}{% + author,editor,namea,nameb,namec,translator} + \DeclareSortingTemplate{shortjournal}{% \sort{ \field{shortjournal} } } +\DeclareSortingTemplate{shortseries}{% + \sort{ + \field{shortseries} + } +} + \newbibmacro*{compilestrg}{% \ifthenelse{\value{namec}>1\OR\ifandothers{namec}}% {\bibstring{compilers}}% @@ -6715,9 +9272,11 @@ {\bibstring{editortranslator}% \clearname{translator}}% {\bibstring{editor}}}}}}% - {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% - {\bibstring{\thefield{editortype}s}}% - {\bibstring{\thefield{editortype}}}}% + {\ifbibxstring{\thefield{editortype}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% + {\bibstring{\thefield{editortype}s}}% + {\bibstring{\thefield{editortype}}}}% + {\printtext[note]{\thefield{editortype}}}}% \clearname{editor}}% \newbibmacro*{parteditstrg}{% @@ -6748,9 +9307,11 @@ {\bibstring{editortranslator}% \clearname{nameb}}% {\bibstring{editor}}}}}}% - {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% - {\bibstring{\thefield{nameatype}s}}% - {\bibstring{\thefield{nameatype}}}}% + {\ifbibxstring{\thefield{nameatype}}% + {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% + {\bibstring{\thefield{nameatype}s}}% + {\bibstring{\thefield{nameatype}}}}% + {\printtext[note]{\thefield{nameatype}}}}% \clearname{namea}}% \newbibmacro*{clearorigin}{% @@ -6792,17 +9353,22 @@ \ifentrytype{proceedings}\OR\ifentrytype{reference}\OR% \ifentrytype{suppbook}\OR\ifentrytype{suppcollection}\)\OR% \(\(\ifentrytype{audio}\OR\ifentrytype{music}\OR% - \ifentrytype{video}\)\AND\iffieldundef{booktitle}\)}% + \ifentrytype{video}\)\AND\(\iffieldundef{booktitle}\AND% + \iffieldundef{entrysubtype}\)\)}% Song w/o album? {}% {\clearfield{title}% \clearfield{subtitle}% \clearfield{titleaddon}% \clearfield{usere}% - \clearlist{language}}% + \clearlist{language}% + \ifentrytype{music}% + {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}% + \clearfield{eventmonth}}% + {}}% \ifentrytype{letter}% {\iftoggle{cms@switchdates}% - {\clearfield{year}\clearfield{month}}% - {\clearfield{origyear}\clearfield{origmonth}}% + {\clearfield{year}\clearfield{month}\clearfield{season}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% \clearfield{origlocation}}% {}% \clearfield{reprinttitle}% @@ -6810,40 +9376,168 @@ %%%% Related macros from biblatex.def %%%% +\renewcommand*{\begrelateddelim}{% + \ifcitation{\newcunitpunct}% + {\ifboolexpr{% + togl {cms@fullnote}% + or + togl {cms@shortnote}% + }% + {\newcunitpunct}% + {\newunitpunct}}}% + +\newcommand*{\begrelateddelimreviewof}{% + \ifcitation{\newcunitpunct}% + {\ifboolexpr{% + togl {cms@fullnote}% + or + togl {cms@shortnote}% + }% + {\newcunitpunct}% + {\newunitpunct}}} + \newbibmacro*{related:reviewof}[1]{% \iftoggle{cms@shortnote}% - {\entrydata{#1}{% + {\entrydata*{#1}{% + \cmsrelhyper{\printfield[citetitle]{labeltitle}}}}% + {\entrydata*{#1}{% + \printtext[cmsdefrelhypertarget]{% + \let\newunit\newcunit% + \iffieldundef{title}% + {}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \newcunit% + \ifnameundef{author}% + {\newcunit% + \ifbibliography% + {\usebibmacro{byeditor+others}}% + {\usebibmacro{cbyeditor+others}}}% + {\bibstring{byauthor}\addspace% + \printnames[byauthor]{author}% + \ifbibliography% + {\newcunit\usebibmacro{byeditor+others}}% + {\newcunit\usebibmacro{cbyeditor+others}}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}}}}}% + +\newbibmacro*{related:commenton}[1]{% + \iftoggle{cms@shortnote}% + {\entrydata*{#1}{% + \iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\classicpunct}% + {\cmsrelnamehyper{\printnames{labelname}}% + \isdot\classicpunct}}% + \usebibmacro{cms+relextra+test}}}% + {\ifbibliography% + {\entrydata*{#1}{% + \ifentryinbib{\strfield{clonesourcekey}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\classicpunct}% + {\printnames{labelname}% + \isdot\classicpunct}}% + \usebibmacro{cms+relextra+test}}% + {\usebibmacro{at+every+item}\toggletrue{cms@fullnote}% + \iffieldundef{savedyear}{}{\clearfield{year}}% + \iffieldundef{savedmonth}{}{\clearfield{month}}% + \iffieldundef{savedseason}{}{\clearfield{season}}% + \iffieldundef{savedurl}{}{\clearfield{url}}% + \iffieldundef{savedaddendum}{}{\clearfield{addendum}}% + \usebibmacro{bib:related:full}}}}% + {\entrydata*{#1}{% + \ifentryseen{\thefield{clonesourcekey}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\classicpunct}% + {\cmsrelnamehyper{\printnames{labelname}}% + \isdot\classicpunct}}% + \usebibmacro{cms+relextra+test}}% + {\usebibmacro{at+every+item}% + \iffieldundef{savedurl}{}{\clearfield{url}}% + \iffieldundef{savedaddendum}{}{\clearfield{addendum}}% + \listcsxadd{blx@bsee@\the\c@refsection}{\strfield{clonesourcekey}}% + \usebibmacro{cite:related:full}}}}}} + +% Used inside previous to allow chains of relatedtype "commenton" +% entries to mimic online thread structure. In particular it stops +% the printing of auto-generated title fields. + +\newbibmacro*{cms+relextra+test}{% + \ifboolexpr{% + test {\iffieldequalstr{relatedtype}{commenton}}% + and + ( + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + ( + test {\ifentrytype{online}}% + and + test {\IfBeginWith{\thefield{title}}{CCCCCC}}% + )) + }% + {\entrydata{\thefield{clonesourcekey}}{% \ifboolexpr{% - togl {cms@allshort}% - or - test {\ifbibliography}% + test {\iffieldundef{extratitle}}% + and + test {\iffieldundef{extraname}}% }% - {\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}}}}% + {\ifcsundef{cms@xfield}% + {\ifentrytype{online}% + {\setunit{\addspace}% + \printtext[parens]{% + \printdate% + \iffieldundef{hour}% + {}% + {\newcunit\printtime}}}% + {\setunit{\addspace}% + \printtext[parens]{% + \printeventdate% + \iffieldundef{eventhour}% + {}% + {\newcunit\printeventtime}}}}% + {\setunit{\shortextrapunct}% + \usebibmacro{shortnote+extrafield}}}}}% + {\cmsrelhyper{\printfield[citetitle]{labeltitle}}}} + +\newrobustcmd*{\cmsrelnamehyper}[1]{% + \ifhyperref% + {\ifboolexpr{% + test {\iffieldequalstr{relatedtype}{commenton}}% + and + ( + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + or + ( + test {\ifentrytype{online}}% + and + test {\IfBeginWith{\thefield{title}}{CCCCCC}}% + )) + }% + {\iffieldequalstr{savedrelatedtype}{commenton}% + {\iftoggle{cms@allshort}% + {#1}% + {\bibhyperlink{\strfield{clonesourcekey}}{#1}}}% + {\cmsrelhyper{#1}}}% + {#1}}% + {#1}} \renewbibmacro*{related:origpubas}[1]{% \entrydata*{#1}{% @@ -6873,23 +9567,187 @@ \renewbibmacro*{related:default}[1]{% \entrydata*{#1}{% - \usedriver% + \printtext[cmsdefrelhypertarget]{% + \usedriver% {\ifnameundef{savedauthor}% - {\ifnameundef{savededitor}% + {\ifnameundef{savededitor}% + {}% + {\ifnamesequal{editor}{savededitor}% + {\iftoggle{cms@headlessnote}% + {}% + {\clearname{editor}}}% + {}}}% + {\ifnamesequal{author}{savedauthor}% + {\iftoggle{cms@headlessnote}% {}% + {\clearname{author}}}% + {}}% + \usebibmacro{at+every+item}% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{sortname}{default}% + \renewbibmacro*{pageref}{}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}}%\nopunct + {cite:\thefield{entrytype}}}}}% + +\newbibmacro*{related:maintitle}[1]{% + \entrydata*{#1}{% + \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% + \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% + {\iffieldundef{volumes}{}{\savefield*{volumes}{\cms@mtvolumes}}% + \bibstring{in}\nopunct}% + {\ifcsdef{cms@mtvolumes}{\restorefield{savedvolumes}{\cms@mtvolumes}}{}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{volumes}\AND\iffieldundef{savedvolumes}}% + {\bibsstring{thiscite}\nopunct}% + {\iffieldundef{volumes}% + {\printfield[volumes]{savedvolumes}}% + {\printfield{volumes}\clearfield{volumes}}% + \newcunit\bibsstring{thiscite}% + \nopunct}}% + {\iffieldundef{volume}% + {\printfield[xrefpart]{part}\usebibmacro{mt:ofvols}}% + {\iffieldundef{part}% + {\printfield{volume}\usebibmacro{mt:ofvols}}% + {\printfield{volume}\usebibmacro{mt:ofvols}\printfield{part}}}}% + \ifcsdef{cms@mtpages}{\restorefield{pages}{\cms@mtpages}}{}% + \ifcsdef{cms@mtpagination}{\restorefield{bookpagination}% + {\cms@mtpagination}}{}% + \ifcsdef{cms@mtchapter}{\restorefield{chapter}{\cms@mtchapter}}{}% + \ifcsdef{cms@mtauthor}% + {\savename*{author}{\cms@mtsecauthor}% + \ifcsequal{cms@mtauthor}{cms@mtsecauthor}% + {\clearname{author}}% + {}}% + {}% + \ifcsdef{cms@mteditor}% + {\savename*{editor}{\cms@mtseceditor}% + \ifcsequal{cms@mteditor}{cms@mtseceditor}% + {\clearname{editor}}% + {}}% + {}% + \ifcsdef{cms@mttranslator}% + {\savename*{translator}{\cms@mtsectranslator}% + \ifcsequal{cms@mttranslator}{cms@mtsectranslator}% + {\clearname{translator}}% + {}}% + {}% + \ifcsdef{cms@mtnamec}% + {\savename*{namec}{\cms@mtsecnamec}% + \ifcsequal{cms@mtnamec}{cms@mtsecnamec}% + {\clearname{namec}}% + {}}% + {}}% + \ifbibliography% + {\printtext[cmsdefrelhypertarget]{% + \usedriver% + {\ifnameundef{savedauthor}% + {\ifnameundef{savededitor}% + {\ifnameundef{savedtranslator}% + {\ifnameundef{savednamec}% + {}% + {\ifnamesequal{namec}{savednamec}% + {\clearname{namec}}% + {}}}% + {\ifnamesequal{translator}{savedtranslator}% + {\clearname{translator}}% + {}}}% {\ifnamesequal{editor}{savededitor}% - {\clearname{editor}}% - {}}}% - {\ifnamesequal{author}{savedauthor}% + {\clearname{editor}}% + {}}}% + {\ifnamesequal{author}{savedauthor}% {\clearname{author}}% {}}% + \clearfield{volume}\clearfield{part}% + \clearfield{maintitle}%\clearfield{volumes}% + \clearfield{crossref}\clearfield{xref}% \usebibmacro{at+every+item}% \renewbibmacro*{related:init}{}% \DeclareNameAlias{sortname}{default}% \renewbibmacro*{pageref}{}% + \renewbibmacro*{editor}{}% + \renewbibmacro*{author/editor}{}% + \clearfield{nameaddon}% + \toggletrue{cms@mtvolpunct}}% + {\thefield{entrytype}}}}% + {\printtext[cmsdefrelhypertarget]{% + \usedriver% + {\ifnameundef{savedauthor}% + {\ifnameundef{savededitor}% + {\ifnameundef{savedtranslator}% + {\ifnameundef{savednamec}% + {}% + {\ifnamesequal{namec}{savednamec}% + {\clearname{namec}}% + {}}}% + {\ifnamesequal{translator}{savedtranslator}% + {\clearname{translator}}% + {}}}% + {\ifnamesequal{editor}{savededitor}% + {\clearname{editor}}% + {}}}% + {\ifnamesequal{author}{savedauthor}% + {\clearname{author}}% + {}}% + \clearfield{volume}\clearfield{part}% + \clearfield{maintitle}%\clearfield{volumes}% + \clearfield{crossref}\clearfield{xref}% + \usebibmacro{at+every+item}% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{sortname}{default}% + \renewbibmacro*{pageref}{}% + \renewbibmacro*{editor}{}% + \renewbibmacro*{author/editor}{}% + \clearfield{nameaddon}% \toggletrue{cms@fullnote}% \togglefalse{cms@shortnote}}% - {cite:\thefield{entrytype}}}}% + {cite:\thefield{entrytype}}}}}}% + +\newbibmacro*{mt:ofvols}{% MT -- used by previous + \iftoggle{cms@hidevolumes}% + {\clearfield{volumes}}% + {\ifthenelse{\iffieldundef{volumes}\AND\iffieldundef{savedvolumes}}% + {}% + {\addspace\bibstring{of}\addspace% + \iffieldundef{volumes}% + {\printfield[default]{savedvolumes}}% + {\printfield[default]{volumes}\clearfield{volumes}}}}}% + +\newbibmacro*{extract+mt+vol}{% MT fix + \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}% + {\setcounter{cms@reviewcount}{\value{instcount}}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\entrydata{\thefield{related}}{% + \iffieldundef{volume}{}{\savefield{volume}{\cms@mtvolume}}% + \iffieldundef{part}{}{\savefield{part}{\cms@mtpart}}}}% + {}% + \ifcsundef{cms@mtvolume}{}{\restorefield{volume}{\cms@mtvolume}}% + \ifcsundef{cms@mtpart}{}{\restorefield{part}{\cms@mtpart}}% + \csgundef{cms@mtvolume}\csgundef{cms@mtpart}}% + {}} + +\newbibmacro*{extract+clonekey+note}{% + \entrydata{\thefield{related}}{% + \ifboolexpr{% + test {\ifentryseen{\thefield{clonesourcekey}}}% + and + not togl {cms@citecrossref}% + }% + {\savefield{clonesourcekey}{\cms@shortmtkey}}% + {}}\iftoggle{cms@noterefs}{\addtocounter{instcount}{-1}}{}}% + +\newbibmacro*{extract+clonekey+bib}{% + \entrydata{\thefield{related}}{% + \ifboolexpr{% + test {\ifentryinbib{\strfield{clonesourcekey}}}% + and + not togl {cms@bibcrossref}% + }% + {\savefield{clonesourcekey}{\cms@shortmtkey}}% + {}}}% + +\letbibmacro*{related:maintitlenc}{related:maintitle}% MT fix \renewbibmacro*{related:multivolume}[1]{% \entrydata*{#1}{% @@ -6962,6 +9820,11 @@ not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \mkbibemph{#1}} @@ -6975,6 +9838,11 @@ not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{#1}% \endgroup \mkbibquote{#1}} @@ -6988,6 +9856,11 @@ not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{\bibstring{chapter}}% \endgroup \bibstring{chapter}~#1\addspace\bibstring{in}}% @@ -7001,10 +9874,33 @@ not test {\iffieldundef{langid}}% }% {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% \lbx@inittitlehook{\bibstring{chapter}}% \endgroup \bibstring{chapter}~#1}% +\DeclareFieldFormat{muschapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{track}}% + \endgroup + \bibstring{track}~#1}% + \DeclareFieldFormat{sitnoformat}{#1} \DeclareFieldFormat{sjtnoformat}{#1} \DeclareFieldFormat{stnoformat}{#1} @@ -7035,17 +9931,17 @@ {\iffieldundef{issuetitle}% {\iffieldundef{title}% {\iffieldundef{booktitle}% - {\iffieldundef{maintitle}% - {\iffieldundef{journaltitle}% + {\iffieldundef{journaltitle}% Switched order for 17th ed. + {\iffieldundef{maintitle}% {}% - {\DeclareFieldAlias{jtnoformat}{title:hook}% - \DeclareFieldAlias{sjtnoformat}{title}% - \DeclareFieldAlias{journaltitle}{default}% - \DeclareFieldAlias{shortjournal}{series}% - \DeclareFieldAlias{jtsnoformat}{title:hook}}}% - {\DeclareFieldAlias{mtnoformat}{title:hook}% - \DeclareFieldAlias{smtnoformat}{title}% - \DeclareFieldAlias{maintitle}{default}}}% + {\DeclareFieldAlias{mtnoformat}{title:hook}% + \DeclareFieldAlias{smtnoformat}{title}% + \DeclareFieldAlias{maintitle}{default}}}% + {\DeclareFieldAlias{jtnoformat}{title:hook}% + \DeclareFieldAlias{sjtnoformat}{title}% + \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{jtsnoformat}{title:hook}}}% {\DeclareFieldAlias{btnoformat}{title:hook}% \DeclareFieldAlias{sbtnoformat}{title}% \DeclareFieldAlias{booktitle}{default}}}% @@ -7063,7 +9959,9 @@ {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% - {\DeclareFieldAlias{chapter}{avchapter:hook}}% + {\ifentrytype{music}% + {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}% + {\DeclareFieldAlias{chapter}{avchapter:hook}}}% {\DeclareFieldAlias{tnoformat}{title:hook}% \DeclareFieldAlias{stnoformat}{citetitle}% \DeclareFieldAlias[video]{title}{default}% @@ -7072,7 +9970,7 @@ {\DeclareFieldAlias{chapter}{chapter:hook}}}}% \newbibmacro*{cite:origfull}{% - \printtext[cmshypertarget]{% + \printtext[cmsdefrelhypertarget]{% \usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \clearname{author}\clearfield{userf}\clearfield{shorthand}% @@ -7081,7 +9979,7 @@ {cite:\thefield{entrytype}}}} \newbibmacro*{cite:origpubl}{% - \printtext[cmshypertarget]{% + \printtext[cmsdefrelhypertarget]{% \usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \usebibmacro{clearpublin}\clearfield{shorthand}% @@ -7090,10 +9988,45 @@ \usebibmacro{cms:titlehook}}% {cite:\thefield{entrytype}}}} +\newbibmacro*{cite:related:full}{% + \printtext[cmsdefrelhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\frenchspacing}% + {cite:\thefield{entrytype}}}}% + +\newbibmacro*{bib:related:full}{% + \printtext[cmsdefrelhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\frenchspacing}% + {\thefield{entrytype}}}}% + +\DeclareFieldFormat{cmsdefrelhypertarget}{% + \ifhyperref% + {\ifbibliography% + {\ifentryinbib{\strfield{clonesourcekey}}% + {#1}% + {\hypertarget{cite.\the\c@refsection @\thefield{clonesourcekey}}{#1}}}% + {\bibhypertarget{\thefield{clonesourcekey}}{#1}}}% + {#1}} + +\newrobustcmd*{\cmsrelhyper}[1]{% + \ifhyperref% + {\ifbibliography% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {\iftoggle{cms@allshort}% + {\IfSubStr{\thefield{savedoptions}}{skipbib}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}%% + {\bibhyperref[\thefield{savedentrykey}]{#1}}}% + {\iftoggle{cms@fullnote}% + {\ifentryseen{\thefield{clonesourcekey}}% + {\bibhyperlink{\strfield{clonesourcekey}}{#1}}% + {#1}}% + {\bibhyperlink{\thefield{savedentrykey}}{#1}}}}}% + {#1}}% + \newbibmacro*{at+every+item}{% - \iffieldequalstr{pubstate}{reprint}% - {\toggletrue{cms@reprint}}% - {\togglefalse{cms@reprint}}% \ifboolexpr{% test {\iffieldundef{origyear}}% or diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx new file mode 100644 index 00000000000..383cc3cd187 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx @@ -0,0 +1,3999 @@ +% This is a biblatex style file, adapted mainly from Lehman's +% standard.bbx It provides the bibliography formatting for the Chicago +% notes + bibliography style. + +\ProvidesFile{chicago-notes16.bbx}[2020/04/20 v 3.14 biblatex +bibliography style] + +%%%% Initialize and format bibliography and los %%%% + +\providetoggle{cms@citejtabb}% Here for Sourcemap declaration +\providetoggle{cms@bibjtabb}% + +\DeclareFieldFormat{shorthandwidth}{#1} + +\DeclareFieldFormat{shortjournalwidth}{% + \ifthenelse{\ifentrytype{jurisdiction}\OR% + \ifentrytype{legal}\OR\ifentrytype{legislation}}% + {\textbf{#1}\isdot}% + {\mkbibemph{\textbf{#1}}\isdot}}% + +\newlength{\lositemsep} + +\defbibenvironment{bibliography}% New for 0.9a + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\defbibenvironment{shorthand}% + {\list + {\printfield[shorthandwidth]{shorthand}}% + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{losnotes} + {\list + {\printfield[shorthandwidth]{shorthand}}% + {\footnotesize% + \setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{losendnotes} + {\list + {\printfield[shorthandwidth]{shorthand}}% + {\enotesize% + \setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist\nopunct\vspace{-\baselineskip}}% Kludges for endnotes + {\item} + +\defbibenvironment{shortjournal}% + {\list + {\printfield[shortjournalwidth]{shortjournal}}% + {\setlength{\labelwidth}{\shortjournalwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.7\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{sjnotes}% + {\list + {\printfield[shortjournalwidth]{shortjournal}}% + {\footnotesize% + \setlength{\labelwidth}{\shortjournalwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibenvironment{sjendnotes}% + {\list + {\printfield[shortjournalwidth]{shortjournal}}% + {\enotesize% + \setlength{\labelwidth}{\shortjournalwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{.3\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\lositemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist\nopunct\vspace{-\baselineskip}} + {\item} + +\defbibcheck{shortjournal}{% Only one list + \ifthenelse{\iffieldundef{shortjournal}\OR% + \iffieldsequal{journaltitle}{shortjournal}\OR% + \(\iffieldundef{journaltitle}\AND\(\ifentrytype{legal}\OR% + \ifentrytype{legislation}\OR\ifentrytype{jurisdiction}\)\)}% + {\skipentry}% + {\ifcsdef{\strfield{shortjournal}}% + {\skipentry}% + {\savefieldcs{shortjournal}% + {\strfield{shortjournal}}}}}% + +% \defbibcheck{shortjournal}{% Multiple lists +% \ifcsdef{cms@shjour}% +% {\iffieldequals{shortjournal}{\cms@shjour}% +% {\skipentry}% +% {\savefield{shortjournal}{\cms@shjour}}}% +% {\savefield{shortjournal}{\cms@shjour}}} + +\AtBeginBibliography{% + \togglefalse{cms@headlessnote}% + \togglefalse{cms@shortnote}% + \togglefalse{cms@fullnote}% + \togglefalse{cms@allshort}% + }% + +\AtEveryBibitem{% + \global\csundef{@cmsst}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}% + \ifboolexpr{% + test {\iffieldundef{origyear}}% + or + test {\iffieldundef{year}}% + or + not test {\iffieldint{year}}% + or + not test {\iffieldint{origyear}}% + or + togl {cms@switchdates}% + }% + {}% + {\ifboolexpr{% Needed for open-ended ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}}% + {}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}}% + {}}}}% + +\AtEveryLositem{% + \global\csundef{@cmsst}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}% + \ifboolexpr{% + test {\iffieldundef{origyear}}% + or + test {\iffieldundef{year}}% + or + not test {\iffieldint{year}}% + or + not test {\iffieldint{origyear}}% + or + togl {cms@switchdates}% + }% + {}% + {\ifboolexpr{% Needed for open-ended ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}}% + {}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}}% + {}}}}% + +\AtEveryBiblistitem{shortjournal}{% + \global\csundef{@cmsst}% + \ifthenelse{\ifentrytype{jurisdiction}\OR% + \ifentrytype{legal}\OR\ifentrytype{legislation}}% + {\clearlist{location}}% + {}}% + +\InitializeBibliographyStyle{% + \let\bbx@lasthash\undefined} + +%%%% Bibliography-specific bibstrings %%%% + +%% Now in *.lbx %% + +%%%% Author, Editor, Translator, and Compiler Macros %%%% + +\renewbibmacro*{name:last-first}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifblank{#3}{}{% + \ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot}% + {\mkbibnameprefix{#3}\isdot}% + \ifpunctmark{'}{}{\addhighpenspace}}% + \mkbibnamelast{#1}\isdot + \ifblank{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot}% + \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}% + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamelast{#1}\isdot% + \ifblank{#2#3#4}{}{\addcomma}% + \ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}\isdot}% + \ifblank{#3}{}{\addlowpenspace\mkbibnameprefix{#3}\isdot}% + \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}} + +\renewbibmacro*{name:first-last}[4]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \ifblank{#2}{}{\mkbibnamefirst{#2}\isdot\addlowpenspace}% + \ifblank{#3}{}{% + \mkbibnameprefix{#3}\isdot + \ifpunctmark{'}% + {}% + {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{% + \iftoggle{cms@jrcomma}% + {\ifnumeral{#4}% + {\addlowpenspace\mkbibnameaffix{#4}\isdot}% + {\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot% + \ifboolexpr{% + test{\ifnumless{\value{listcount}}{\value{listtotal}}}% + and + test{\ifnumless{\value{listcount}}{\value{maxnames}}}% + }% + {\addcomma}% + {}}}% + {\addlowpenspace\mkbibnameaffix{#4}\isdot}}} + +\@ifpackagelater{biblatex}{2016/03/01}% For biblatex 3.3 +{\renewbibmacro*{name:family-given}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifdefvoid{#3}{}{% + \ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot}% + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}% + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamefamily{#1}\isdot + \ifboolexpr{% + test {\ifdefvoid{#2}}% + and + test {\ifdefvoid{#3}}% + }% + {}{\revsdnamepunct}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}% + \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}% + +\renewbibmacro*{name:given-family}[4]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}% + \ifdefvoid{#3}{}{% + \mkbibnameprefix{#3}\isdot + \ifprefchar + {}% + {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{% + \iftoggle{cms@jrcomma}% + {\ifnumeral{#4}% + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + {\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot% + \ifboolexpr{% Test needed in notes + test{\ifnumless{\value{listcount}}{\value{listtotal}}}% + and + test{\ifnumless{\value{listcount}}{\value{maxnames}}}% + }% + {\revsdnamepunct}% + {}}}% + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}}{}% + +\renewbibmacro*{author/editor}{% + \ifboolexpr{% + test {\ifuseauthor}% + or + togl {cms@headlessnote} + }% + {\usebibmacro{author}}% + {\ifusenamea% + {\usebibmacro{pickeditor}}% + {\ifuseeditor% + {\usebibmacro{moreeditor}}% + {\ifusenameb% + {\usebibmacro{picktranslator}}% + {\ifusetranslator% + {\usebibmacro{moretranslator}}% + {\ifusenamec% + {\usebibmacro{compiler}}% + {\let\bbx@lasthash\undefined}}}}}}}% + +\renewbibmacro*{author}{% + \iftoggle{cms@headlessnote}% + {\usebibmacro{justauthor}}% + {\usebibmacro{moreauthor}}} + +\newbibmacro*{justauthor}{% + \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% + {\iftoggle{cms@origcite}{}{\let\bbx@lasthash\undefined}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}}%\addperiod\addspace + {\printtext{\bibnamedash}% + \ifentrytype{customc}% + {\newunit}% + {\setunit{\addspace}}\printfield{nameaddon}}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{author}\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\printnames{author}% + \ifentrytype{customc}% + {\ifbibliography{\newunit}{\newcunit}}% + {\setunit{\addspace}}% + \printfield{nameaddon}% + \savefield{fullhash}{\bbx@lasthash}}}}}} + +\newbibmacro*{moreauthor}{% + \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}% + {\usebibmacro{pickeditor}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}}%\addperiod\addspace + {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{author}\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + \savefield{fullhash}{\bbx@lasthash}}% + {\printnames{author}% + \setunit{\addspace}% + \printfield{nameaddon}% + \savefield{fullhash}{\bbx@lasthash}}}}}} + +\newbibmacro*{pickeditor}{% + \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% + {\usebibmacro{moreeditor}}% + {\usebibmacro{parteditor}}} + +\newbibmacro*{moreeditor}{% + \ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{editstrg}}} + +\renewbibmacro*{editor}{% + \iftoggle{cms@headlessnote}% + {}% + {\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% + {\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}% + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\editordelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\editordelim}}% + {\printnames{editor}% + \setunit{\addspace}% + \printfield{nameaddon}\editordelim% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{editstrg}}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\nameadelim}}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parteditstrg}}}}% + +\newbibmacro*{parteditor}{% + \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}% + {\usebibmacro{picktranslator}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\nameadelim}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\nameadelim}}% + {\printnames[sortname]{namea}% + \setunit{\addspace}% + \printfield{nameaddon}\nameadelim% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parteditstrg}}} + +\newbibmacro*{picktranslator}{% + \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% + {\usebibmacro{moretranslator}}% + {\usebibmacro{parttranslator}}} + +\newbibmacro*{moretranslator}{% + \ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}% + {\usebibmacro{compiler}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\printnames[sortname]{translator}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{transstrg}}} + +\newbibmacro*{parttranslator}{% + \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}% + {\usebibmacro{compiler}}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\printnames[sortname]{nameb}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{parttransstrg}}} + +\newbibmacro*{compiler}{% + \ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}% + {\let\bbx@lasthash\undefined}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\iffieldundef{nameaddon}% + {\printtext{\bibnamedash}\newcunit}% + {\printtext{\bibnamedash}\setunit{\addspace}% + \printfield{nameaddon}\newcunit}}% + {\printnames[sortname]{namec}% + \setunit{\addspace}% + \printfield{nameaddon}\newcunit% + \savefield{fullhash}{\bbx@lasthash}}% + \usebibmacro{compilestrg}}} + +\renewcommand*{\revsdnamedelim}{\addcomma} + +\DeclareNameAlias{author}{sortname}% Needed in 0.9 +\DeclareNameAlias{editor}{sortname} +\DeclareNameAlias{translator}{sortname} + +%%%% Drivers for Bibliography entries and Shorthands %%%% + +\DeclareBibliographyDriver{shorthand}{% + \iftoggle{cms@fullshhand}% + {\usedriver{\frenchspacing}% + {\thefield{entrytype}}% + \finentry}% + {\ifnameundef{labelname}% + {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \ifentrytype{periodical}}% + {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% + \newcunit}}% + {\ifentrytype{manual}% + {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% + {}}}% + {\usebibmacro{author/editor}% + \setunit{\addcomma\addspace}}% + \printfield[lostitle]{title}% + \finentry}} + +\DeclareBibliographyDriver{shortjournal}{% + \iffieldundef{journaltitle}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}}% + {\printtext[journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}}% + \finentry}% + +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \pertype{periodical} + \step[fieldsource=shorttitle, final] + \step[fieldset=shortjournal, origfieldval] + } + \map{ + \pertype{jurisdiction} + \pertype{legal} + \pertype{legislation} + \step[fieldsource=journaltitle, final] + \step[fieldset=shortjournal, origfieldval] + } + \map[overwrite]{ + \pertype{jurisdiction} + \step[fieldsource=shortjournal, match=\regexp{\\adddot},% + replace=\regexp{\\ADDDOT}] + \step[fieldsource=shortjournal, match=\regexp{[a-z]}, final] + \step[fieldset=shortjournal, fieldvalue=\addnbspace, append] + } + \map[overwrite]{ + \pertype{jurisdiction} + \step[fieldsource=shortjournal, match=\regexp{\\ADDDOT},% + replace=\regexp{\\adddot}] + } + \map{ + \pertype{legislation} + \step[fieldsource=title, match=\regexp{Const}, final] + \step[fieldset=entrysubtype, fieldvalue=constitution] + } + \map{ + \pertype{legislation} + \step[fieldsource=entrysubtype, match=\regexp{canada}, final] + \step[fieldsource=bookpagination, match={section}, + replace={canadasection}] + \step[fieldsource=pagination, match={section}, + replace={canadasection}] + } + \map{ + \step[fieldsource=pubstate, match={forthcoming}, final] + \step[fieldset=year, origfieldval, final] + \step[fieldsource=year, match=\regexp{(forthcoming)}, + replace=\regexp{\\bibstring\{$1\}}]%$ + } + \map{ + \pertype{article} + \pertype{periodical} + \pertype{review} + \pertype{suppperiodical} + \step[fieldsource=entrysubtype, match={newspaper}, + replace={magazine}] + } + \map[overwrite]{ + \step[fieldsource=subtitle, final] + \step[fieldsource=title, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=title, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=booksubtitle, final] + \step[fieldsource=booktitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=booktitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=issuesubtitle, final] + \step[fieldsource=issuetitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=issuetitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=journalsubtitle, final] + \step[fieldsource=journaltitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=journaltitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + \map[overwrite]{ + \step[fieldsource=mainsubtitle, final] + \step[fieldsource=maintitle, + match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$ + final] + \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] + } + } +}% + +\DeclareBibliographyDriver{article}{% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{bibindex}% + \usebibmacro{mag+news+author}% + \newunit\newblock + \usebibmacro{mag+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock% + \usebibmacro{part+editor+translator}% + \newunit\newblock% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newunit\newblock + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{mag+news+date}% + \newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{mag+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit*{\addperiod\addspace}\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newunit\newblock + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? + \usebibmacro{journal+issue+year+pages}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \newunit\newblock + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{artwork}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newcunit\newblock + \usebibmacro{date}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{audio}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newcunit%\setunit{\addperiod\addspace}% + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \iffieldundef{booktitle}% + {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\addcomma\addspace}}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newunit% unit, not cunit? + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newunit% ??? Editorpunct maybe not right here? + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\usebibmacro{cms-in:}% + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}} + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit + \printfield{type}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isan}% + \setunit*{\addcomma\addspace}\newblock% + \printfield{ismn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \newunit\newblock + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newcunit\newblock + \iftoggle{cms@bookpages}% + {}% + {\clearfield{pages}}% + \printfield{chapter}% + \setunit*{\addcomma\addspace}% + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%cmsorigdate%\printorigdate + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newcunit + \printlist[][-\value{listtotal}]{lista}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{bookinbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \printfield{chapter}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{booklet}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{howpubl+loc+year}% + \newunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \usebibmacro{editorpunct}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newunit + \usebibmacro{volume+or+volumes}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{customc}{% + \usebibmacro{bibindex}% + \usebibmacro{justauthor}% + \iffieldundef{nameaddon}% + {\newunit}% + {\setunit{\addspace}}% + \usebibmacro{italtitle+stitle}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{image}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newcunit%\setunit{\addcomma\addspace}% + \usebibmacro{date}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bibcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bibcrossref}% + }% + {\setunit{\addperiod\addspace}% + \usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\newunit}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}% + \newunit\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bibcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bibcrossref}% + }% + {\newunit\newblock + \usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{title+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bibcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bibcrossref}% + }% + {\setunit{\addperiod\addspace}% + \usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit\newblock + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{italtitle+stitle}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% need asterisk? + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \printfield{chapter}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newcunit\newblock + \printlist[][-\value{listtotal}]{lista}% + \newcunit\newblock%setunit{\addspace}% 16th ed + \ifnameundef{author}% + {}% + {\printtext{% 16th ed + \bibstring{by}% + \addspace% + \printnames[byauthor]{author}}}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{jurisdiction}{cite:jurisdiction} + +\DeclareBibliographyAlias{legal}{cite:legal} + +\DeclareBibliographyAlias{legislation}{cite:legislation} + +\DeclareBibliographyDriver{letter}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \printtext[title]{% + \printfield[noformat]{title}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit*{\addcomma\addspace}% + \usebibmacro{letter+date}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock%\bibsentence + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bibcrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bibcrossref}% + }% + {\usebibmacro{chapincoll}% + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\newunit}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\newunit}% + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{chapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{bibauthor+org}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newunit\newblock + \usebibmacro{edition}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{note}% + \newunit\newblock% + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \iffieldundef{entrysubtype}% + {\usebibmacro{italtitle+stitle}}% + {\printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit\newblock% + \usebibmacro{unpubl+letter+date}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \iffieldundef{entrysubtype}% + {\newcunit\newblock + \usebibmacro{date}}% + {}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{music}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \usebibmacro{music+eventdate}% + \newunit\newblock + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \iffieldundef{booktitle}% + {\newunit}% Fix customc? + {\newcunit}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newunit% unit, not cunit? + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newunit% ??? Editorpunct maybe not right here? + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\usebibmacro{cms-in:}% + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}} + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \printfield{note}% + \newunit\newblock% + \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}% + \newunit\newblock + \printlist{publisher}% + \setunit*{\addcomma\addspace}\newblock + \printfield{series}% + \setunit{\addspace}% + \printfield{number}% + \newcunit\newblock + \usebibmacro{date}% + \newunit + \usebibmacro{institution+organization}% + \setunit*{\addcomma\addspace}\newblock + \printlist{location}% + \newcunit\newblock + \printfield{type}% + \newunit\newblock + \usebibmacro{pubstate}% 16th ed. + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{iswc}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{mvbook}{book} + +\DeclareBibliographyAlias{mvcollection}{collection} + +\DeclareBibliographyAlias{mvproceedings}{proceedings} + +\DeclareBibliographyAlias{mvreference}{reference} + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{title+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \printlist{organization}% Rearranged for 16th ed. + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \iffieldundef{urlyear}% + {}% + {\printurldate}% Date fix + \newunit\newblock + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \clearfield{url}}}% + {\printfield{doi}}% + \newunit\newblock + \usebibmacro{eprint}% + \newunit\newblock + \printfield{url}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{author+holder}% + holder? + \newunit\newblock + \usebibmacro{title}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \setunit{\addperiod\addspace}% + \printfield{note}% + \setunit{\addperiod\addspace}% + \printfield{type}% + \setunit{\addspace}% + \printfield{number}% + \iflistundef{location}% + {}% + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newcunit\newblock + \printfield{version}% + \iffieldundef{origyear}% + {\iffieldundef{year}% + {}% + {\bibstring{patentfiled}\setunit{\addspace}% Issued -> filed + \printdate}}% + {\bibstring{patentfiled}\setunit{\addspace}% + \usebibmacro{cmsorigdate}% + \setunit{\finalandcomma\addspace\bibstring{and}% + \addspace\bibstring{patentissued}\addspace}% + \usebibmacro{date}}% + \newcunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{bibindex}% + \usebibmacro{editor}% + \newunit\newblock + \usebibmacro{issuetitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock% + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{periodical+date+issue}% + \newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{editor}% + \newunit\newblock + \usebibmacro{issuetitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit*{\addperiod\addspace}\newblock% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? + \usebibmacro{periodical+issue+year+pages}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \newunit\newblock + \usebibmacro{italtitle+stitle}% + \setunit{\addspace}% + \usebibmacro{bib:xref+date}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \newunit\newblock + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + togl {cms@bookbibxref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + togl {cms@bookbibxref}% + }% + {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{volume+or+volumes}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{org+publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}}% +{\ifboolexpr{% Changed for 16th ed. + test {\ifterm}% + or + test {\ifpunctmark{*}}% + }% + {\setunit{\addspace\bibsentence}}% + {\setunit{\addperiod\addspace}}% + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{reference}{% + \usebibmacro{bibindex}% + \usebibmacro{italtitle+stitle}% + \newunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newunit\newblock + \usebibmacro{part+editor+translator}% + \setunit*{\addperiod\addspace}% need asterisk? + \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newcunit\newblock + \printfield{chapter}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \iffieldequalstr{entrysubtype}{unpublished}% + {\usebibmacro{title+stitle}}% + {\usebibmacro{italtitle+stitle}}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \newcunit + \printfield{series}% + \setunit{\addnbspace}% + \printfield{number}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{inst+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isrn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+author}}% + {\usebibmacro{author/editor}}% + \newunit\newblock + \printeventdate% 16th ed. + \setunit{\addspace}% + \printfield{nameaddon}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock% + \usebibmacro{part+editor+translator}% + \newunit\newblock% + \usebibmacro{issuetitle}% + \setunit*{\addcomma\addspace}% + \usebibmacro{byeditor+others}% + \usebibmacro{editorpunct}%\newunit\newblock + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+date}% + \newcunit\newblock + \usebibmacro{chap+pag}}% + {\usebibmacro{journal+issue+year+pages}}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{suppbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \newunit\newblock + \usebibmacro{inforaft}% + \setunit{\addspace}\newblock + \usebibmacro{italtitle+stitle}% + \newunit + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newcunit + \usebibmacro{bybookauthor}% + \newcunit\newblock + \usebibmacro{chap+pag}% + \newunit\newblock + \usebibmacro{mtitle+mstitle+vol+part+title+stitle}% + \newcunit% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditor+others}% + \newunit + \usebibmacro{volume+or+volumes}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{suppcollection}{suppbook} + +\DeclareBibliographyAlias{suppperiodical}{review} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{title+stitle}% + \setunit{\addspace}%\newblock% + \usebibmacro{language+transtitle}% + \newunit% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \printfield{note}% + \setunit{\addperiod\addspace}\newblock% + \usebibmacro{type+inst+year}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \usebibmacro{title+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \newunit%usebibmacro{byauthorpunct}% Why does this work? No idea. + \usebibmacro{byauthor}% Same in thesis type, as well. 16th ed. + \setunit{\addperiod\addspace}% + \usebibmacro{byeditor+others}% + \newunit\newblock% + \printfield{howpublished}% + \setunit*{\addcomma\addspace}\newblock% + \printfield{note}% + \setunit*{\addcomma\addspace}\newblock% + \printfield{eventtitle}% + \setunit*{\ctitleaddonpunct}\newblock% + \printfield{eventtitleaddon}% + \setunit*{\addcomma\addspace}% + \printfield{venue}% + \setunit*{\addcomma\addspace}% + \printlist{location}% + \setunit*{\addcomma\addspace}\newblock% + \iffieldundef{eventyear}% + {\usebibmacro{date}}% + {\printeventdate}% + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{video}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newunit\newblock + \printtext[title]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \iffieldundef{booktitle}% Comma after italics, period after quotes + {\setunit{\ctitleaddonpunct}}% + {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock% + \printfield{titleaddon}%\usebibmacro{title+stitle}% + \setunit{\addspace}\newblock%\bibsentence + \usebibmacro{language+transtitle}% + \setunit{\addperiod\addspace}% 16th ed. + \usebibmacro{byauthor}% + \setunit{\addperiod\addspace}% + \usebibmacro{part+editor+translator}% + \setunit{\addperiod\addspace}% + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \iffieldundef{booktitle}% + {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\addcomma\addspace}}% + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newunit% unit, not cunit? + \usebibmacro{bybookauthor}% + \usebibmacro{byeditor+others}% + \newunit% ??? Editorpunct maybe not right here? + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\usebibmacro{cms-in:}% + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}% + \newcunit\newblock + \usebibmacro{volume+pages}% + \newunit\newblock + \usebibmacro{ser+num}% + \newunit\newblock + \usebibmacro{music+eventdate}% + \newunit\newblock + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publ+loc+year}% + \newunit\newblock + \printfield{type}% 16th ed. + \newunit\newblock + \printfield{addendum}% + \setunit*{\addcomma\addspace}\newblock% + \iftoggle{cms@isbn}% + {\printfield{isan}}% + {}% + \setunit*{\addcomma\addspace}\newblock% + \usebibmacro{bib+doi+url}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit\newblock + \ifboolexpr{% + togl {cms@related}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newunit}% + {}% + \usebibmacro{originally+published+as}% + \usebibmacro{finentry}}% + +%%%% Other Formatting Macros %%%% + +\newbibmacro*{bib+doi+url}{% 16th ed. + \ifboolexpr{% + togl {cms@url}% + and + not test {\iffieldundef{urlyear}}% + }% + {\printurldate}% Date fix + {}% + \iffieldundef{addendum}% Punctuation fixes in 0.9.9c + {\newunit\newblock}% + {\newcunit\newblock}% + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \setunit*{\addperiod\addspace}\newblock% + \clearfield{url}}}% + {\ifboolexpr{% + togl {cms@doi}% + and + not test {\iffieldundef{doi}}% + }% + {\printfield{doi}% + \setunit*{\addperiod\addspace}\newblock}% + {}}% + \ifboolexpr{% + togl {cms@eprint}% + and + not test {\iffieldundef{eprint}}% + }% + {\usebibmacro{eprint}% + \setunit*{\addperiod\addspace}\newblock}% + {}% + \ifboolexpr{% + togl {cms@url}% + and + not test {\iffieldundef{url}}% + }% + {\printfield{url}}% + {}}% + +\newbibmacro{bib:xref+date}{% Experiment for xrefs + \ifboolexpr{% + togl {cms@omitxrefdate}% + or + togl {cms@bookbibxref}% + or + test {\iffieldundef{crossref}}% + or + test {\iffieldundef{maintitle}}% + or + (( + test {\iffieldundef{year}}% + or + togl {cms@switchdates}% + ) + and + (test {\iffieldundef{origyear}}% + or + not togl {cms@switchdates}% + )) + }% + {\ifboolexpr{% + togl {cms@omitxrefdate}% + or + togl {cms@bookbibxref}% + or + test {\iffieldundef{xref}}% + or + test {\iffieldundef{maintitle}}% + or + (( + test {\iffieldundef{year}}% + or + togl {cms@switchdates}% + ) + and + (test {\iffieldundef{origyear}}% + or + not togl {cms@switchdates}% + )) + }% + {}% + {\printtext[parens]{\usebibmacro{date}}}}% + {\printtext[parens]{\usebibmacro{date}}}} + +\newbibmacro*{volume+pages}{% Volume fix (modified) + \ifboolexpr{% + test {\iffieldundef{maintitle}}% + or + togl {cms@vol}% + }% + {\global\togglefalse{cms@vol}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\printfield{pages}% + \newunit% + \printfield{volumes}}% + {\iffieldundef{part}% + {\iffieldundef{pages}% + {\printfield{volume}}% Still print this w/o part or pages??? + {\ifthenelse{\iffieldnums{pages}\AND% + \iffieldundef{bookpagination}\AND\iffieldnums{volume}}% + {\printfield[default]{volume}% + \postvolpunct% + \printfield{pages}}% + {\printfield{volume}% + \addcomma\addspace% + \printfield{pages}}}}% + {\printfield{volume}% + \printfield{part}% + \newcunit% + \printfield{pages}}}}% + {\ifboolexpr{% + togl {cms@hidevolumes}% + and + ( + not test {\iffieldundef{volume}}% + or + not test {\iffieldundef{part}}% + ) + }% + {\printfield{pages}}% + {\printfield{pages}% + \newunit% + \printfield{volumes}}}}% + +\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\usebibmacro{cms-in:}% 16th ed (Also 15th?) + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}} + +\newbibmacro*{mtitle+mstitle+vol+part+btitle+bstitle}{% + \usebibmacro{btitle+bstitle}% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR% + \(\iffieldundef{booktitle}\AND\NOT\ifentrytype{bookinbook}\)}% ??? + {\usebibmacro{cms-in:}% 16th ed (also 15th?) + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct} + \printfield{maintitleaddon}% + \toggletrue{cms@vol}}% InIn fix + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}} + +\newbibmacro*{journal+issue+year+pages}{% + \usebibmacro{cjournal+ser+vol+num}% + \ifboolexpr{% 16th ed. + test {\iffieldundef{issue}}% + and + test {\iffieldundef{year}}% + and + not togl {cms@switchdates}% + }% + {\iffieldundef{number}% + {\iffieldundef{bookpagination}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}% + \printfield{pages}}% + {\newcunit\printfield{pages}}}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. + {\newcunit% + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}% + \newcunit\printfield{pages}}% + {\setunit{\addspace}% + \printtext[parens]{% + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}% + \setunit{\addcolon\addspace}% + \printfield{pages}}}} + +\newbibmacro*{periodical+issue+year+pages}{% + \usebibmacro{cperiodical+ser+vol+num}% + \ifboolexpr{% 16th ed. + test {\iffieldundef{issue}}% + and + test {\iffieldundef{year}}% + and + not togl {cms@switchdates}% + }% + {\iffieldundef{number}% + {\iffieldundef{bookpagination}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}% + \printfield{pages}}% + {\newcunit\printfield{pages}}}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. + {\newcunit% + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}% + \newcunit\printfield{pages}}% + {\setunit{\addspace}% + \printtext[parens]{% + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}% + \setunit{\addcolon\addspace}% + \printfield{pages}}}} + +\newbibmacro*{bycompiler}{% + \ifnameundef{namec}% + {}% + {\bibstring{bycompiler}\addspace% + \printnames[bycompiler]{namec}}} + +\renewbibmacro*{byeditor}{% + \ifnameundef{editor}% + {}% + {\usebibmacro{bytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \usebibmacro{editorpunct}}% + \usebibmacro{byeditorx}} + +\renewbibmacro*{byeditorx}{% + \ifnameundef{editora}% + {}% + {\usebibmacro{bytypestrg}{editora}{editor}% + \setunit{\addspace}% + \printnames[byeditora]{editora}% + \usebibmacro{editorpunct}}% + \ifnameundef{editorb}% + {}% + {\usebibmacro{bytypestrg}{editorb}{editor}% + \setunit{\addspace}% + \printnames[byeditorb]{editorb}% + \usebibmacro{editorpunct}}% + \ifnameundef{editorc}% + {}% + {\usebibmacro{bytypestrg}{editorc}{editor}% + \setunit{\addspace}% + \printnames[byeditorc]{editorc}% + \usebibmacro{editorpunct}}} + +\renewbibmacro*{byeditor+others}{% + \ifthenelse{\NOT\ifnameundef{editor}\AND + \(\iffieldundef{editortype}\OR + \iffieldequalstr{editortype}{editor}\)}% + {\def\@tempa{byeditor}% + \ifnamesequal{editor}{translator}% + {\edef\@tempa{\@tempa tr}% + \clearname{translator}}% + {}% + \ifnamesequal{editor}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{editor}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{editor}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{editor}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{editor}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{editor}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \clearname{editor}% + \usebibmacro{editorpunct}% + \usebibmacro{byeditorx}}% + {\usebibmacro{byeditor}}% + \usebibmacro{bytranslator+others}} + +\renewbibmacro*{bytranslator+others}{% + \ifnameundef{translator}% + {}% + {\def\@tempa{bytranslator}% + \ifnamesequal{translator}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{translator}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{translator}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{translator}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{translator}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{translator}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\addspace% + \printnames[bytranslator]{translator}% + \clearname{translator}% + \usebibmacro{editorpunct}}% + \usebibmacro{bycompiler+others}} + +\newbibmacro*{bycompiler+others}{% + \ifnameundef{namec}% + {}% + {\def\@tempa{bycompiler}% + \ifnamesequal{namec}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{namec}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{namec}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{namec}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{namec}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\addspace% + \printnames[bycompiler]{namec}% + \clearname{namec}% + \usebibmacro{editorpunct}}% + \usebibmacro{byothers}}% + +\newbibmacro*{byothers}{% Changed for 0.9 + \usebibmacro{bytranslator}% + \usebibmacro{editorpunct}% + \usebibmacro{bycompiler}% + \usebibmacro{editorpunct}% +% \usebibmacro{byredactor}% +% \usebibmacro{editorpunct}% + \usebibmacro{withcommentator}% + \usebibmacro{editorpunct}% + \usebibmacro{withannotator}% + \usebibmacro{editorpunct}% + \usebibmacro{withintroduction}% + \usebibmacro{editorpunct}% + \usebibmacro{withforeword}% + \usebibmacro{editorpunct}% + \usebibmacro{withafterword}} + +%%%% New date macros enabling special handling of seasons, decades, +%%%% centuries, date eras, and uncertain dates (circa and ?), along +%%%% with CMS compression of year ranges. + +\newcount\cms@tempcnta +\newcount\cms@tempcntb + +\protected\def\cmsunspecified#1#2{% + \ifboolexpr{% + test {\iffieldundef{#2dateunspecified}}% + or + togl {cms@alwaysrange}% + }% + {\ifboolexpr{% + test {\iffieldundef{#2endyear}}% + or + test {\iffieldequalstr{#2dateera}{bce}}% + or + not togl {cms@compyears}% + or + not test {\iffieldnum{#2year}}% + or + not test {\iffieldnum{#2endyear}}% + or + not test {\if@cms@onlyyears{#2}}% + }% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}% + {\cmscompcenturies{#2}% + \ifboolexpr{% + ( + test {\if@cms@bracket}% + and + not test {\if@cms@endbracket} + ) + or + ( + not test {\if@cms@bracket}% + and + test {\if@cms@endbracket}% + ) + or + ( + test {\if@cms@endcirca}% + and + not test {\if@cms@circa}% + ) + or + not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}% + }% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearindecade}}% + and + test {\ifbibstring{decade}}% + and + not togl {cms@decaderange}% + }% + {\cmsmkdecade{#1}{#2}}% + {\ifboolexpr{% + test {\iffieldequalstr{#2dateunspecified}{yearincentury}}% + and + test {\ifbibstring{century}}% + and + not togl {cms@centuryrange}% + }% + {\cmsmkcentury{#2}}% + {\iftoggle{cms@compyears}% + {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}% + +\protected\def\cmscompressyears#1{% + \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}% + \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}% + \cms@tempb}% + +\def\cmscompcenturies#1{% + \cms@tempcnta=\thefield{#1year}% + \divide\cms@tempcnta100 + \cms@tempcntb=\thefield{#1endyear}% + \divide\cms@tempcntb100} + +\protected\def\cmsformatextra{}% Author-date requires these + +\protected\def\cmsformatendextra{}% + +\newbibmacro*{cmsextradate}{}% + +\newbibmacro*{cmsparensextradate}{}% + +\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language + \ifdefstring\blx@dateera{astronomical}% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifnumless{0-\thefield{#1}}{0}% + {\printtext{\csuse{bibdateera\blx@tempa prefix}}}% + {}}% + {}% + \endgroup}% + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\ifdefstring\blx@tempa{end}% + {\iftoggle{cms@bc}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}% + {}}% + {\printtext{% + \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}% + \global\togglefalse{cms@bc}}}% + {}}% + \endgroup}% + {}}% + {}}} + +\protected\def\cmsdateeraprint#1{% AD/BC order depends on language + \ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\if@cms@adfirst}% + }% + {\iffieldnum{#1} + {\begingroup + \let\blx@tempa\@empty + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype + \def\blx@tempa{end}} + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}}}% + {}% + \endgroup} + {}}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{secular}}% + or + ( + test {\ifdefstring\blx@dateera{christian}}% + and + not test {\if@cms@adfirst}% + ) + }% + {\iffieldnum{#1}% + {\begingroup% + \let\blx@tempa\@empty% + \blx@ifstrendswith{#1}{endyear}% + {\blx@stripfromendinto{#1}{endyear}\blx@datetype% + \def\blx@tempa{end}}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce}% + {\ifdefstring\blx@tempa{end}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}% + {\csuse{if\blx@datetype enddateera}{bce}% + {}% + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto% + \printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@bce}}\relax% + \fi}}}% + {\ifdefstring\blx@tempa{end}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}}% + {}}% + {\csuse{if\blx@datetype enddateera}{ce}% + {}% + {\ifnumless{\thefield{#1}}\blx@dateeraauto% + {\printtext{\printdelim{dateeradelim}\midsentence% + \bibsstring{\blx@dateera@ce}}}% + {}}}}% + \endgroup}% + {}}% + {}}} + +\newrobustcmd*{\cms@datebrackets}{% + \iftoggle{cms@nodatebrackets}% + {\global\boolfalse{cms:bracket}% + \ifboolexpr{% + test {\if@cms@bracket}% + and + togl {cms@nodates}% + and + not bool {cms:nd}% + }% + {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}% + {\boolfalse{cms:nd}}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@yearbrackets}{% + \iftoggle{cms@noyearbrackets}% + {\global\boolfalse{cms:bracket}% + \ifboolexpr{% + test {\if@cms@bracket}% + and + togl {cms@nodates}% + and + not bool {cms:nd} + }% + {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}% + {\boolfalse{cms:nd}}}% + {\global\booltrue{cms:bracket}% + \bibopenbracket}}% + +\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifdateyearsequal{#2}{#2end}% + {\iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{}{}{#2day}}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#2endyear}% + {\iffieldundef{#2endmonth}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\bibdaterangesep% + \csuse{mkbibseasondate#1}{}{#2endseason}}}% + {\bibdaterangesep% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdatedash% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkbibrangefull}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \ifboolexpr{% + test {\ifdateyearsequal{#2}{#2end}}% + and + test {\iffieldundef{#2month}}% + and + test {\iffieldundef{#2day}}% + }% + {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\cmsdateeraprint{#2year}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdaterangesep% + \iffieldundef{#2endseason}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\newrobustcmd*{\cms@mkyearrangeextra}[3][]{% + \begingroup + \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% + \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \blx@metadateinfo{#3}% + \iffieldundef{#3year} + {\blx@nounit}% + {\printtext{% + \if@cms@bracket% + {\cms@yearbrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \ifdateyearsequal{#3}{#3end}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}% + \clearfield{#3endyear}}% + {\ifblank{#1}% + {\cmsunspecified{#2}{#3}}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#3endyear} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\iffieldequalstr{#3endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@yearbrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}% + \csuse{mkbibdate#2}{#3endyear}{}{}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#3endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#3endyear}}}% + {\if@cms@enduncertain% + {\bibdateuncertain}% + {}% + \cmsdateeraprint{#3endyear}}}}}}% + \endgroup}% + +\def\if@cms@adfirst{% + \ifboolexpr{% + test {\ifdefstring\blx@languagename{american}}% + or + test {\ifdefstring\blx@languagename{british}}% + or + test {\ifdefstring\blx@languagename{canadian}}% + or + test {\ifdefstring\blx@languagename{english}}% + or + test {\ifdefstring\blx@languagename{UKenglish}}% + or + test {\ifdefstring\blx@languagename{USenglish}}% + or + test {\ifdefstring\blx@languagename{australian}}% + or + test {\ifdefstring\blx@languagename{newzealand}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@bracket{% + \ifboolexpr{% + ( + test {\ifdatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endbracket{% + \ifboolexpr{% + ( + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + ) + or + ( + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@circa{% + \ifboolexpr{% + test {\ifdatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@uncertain{% + \ifboolexpr{% + test {\ifdateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@endcirca{% + \ifboolexpr{% + test {\ifenddatecirca}% + and + togl {blx@datecirca}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@enduncertain{% + \ifboolexpr{% + test {\ifenddateuncertain}% + and + togl {blx@dateuncertain}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +\def\if@cms@onlyyears#1{% + \ifboolexpr{% + test {\iffieldundef{#1month}}% + and + test {\iffieldundef{#1endmonth}}% + and + test {\iffieldundef{#1day}}% + and + test {\iffieldundef{#1endday}}% + }% + {\@firstoftwo}% + {\@secondoftwo}} + +%%%% Related functionality from standard.bbx %%%% + +\newcounter{bbx:relatedcount} +\newcounter{bbx:relatedtotal} + +\newbibmacro*{related:init}{% + \csundef{bbx:relatedloop}} + +\newbibmacro*{begrelated}{\ifcsdef{bbx@lasthash}% + {\let\cms@related@hash\bbx@lasthash}{}}% +\newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}% + {\global\let\bbx@lasthash\cms@related@hash% + \let\cms@related@hash\undefined}{}}% +\newbibmacro*{begrelatedloop}{} +\newbibmacro*{endrelatedloop}{} + +\def\ifrelatedloop{% + \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}% + or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }} + +\newbibmacro*{related}{% + \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }% + {}% + {\ifcsundef{begrelateddelim\strfield{relatedtype}}% + {\printunit{\begrelateddelim}}% + {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}% + \usebibmacro{begrelated}% + \def\bbx@tempa{}% + \setcounter{bbx:relatedtotal}{0}% + \def\do##1{% + \entrydata{##1}{% + \ifrelatedloop% + {}% + {\stepcounter{bbx:relatedtotal}% + \gappto{\bbx@tempa}{##1,}}}}% + \docsvfield{related}% + \restorefield{related}{\bbx@tempa}% + \ifnumgreater{\value{bbx:relatedtotal}}{0}% + {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}% + \iffieldundef{clonesourcekey}% + {}% + {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}% + \setcounter{bbx:relatedcount}{0}% + \def\do{% + \stepcounter{bbx:relatedcount}% + \ifnumgreater{\value{bbx:relatedcount}}{1}% + {\ifcsundef{relateddelim\strfield{relatedtype}}% + {\printunit{\relateddelim}}% + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\printunit + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter{% + \csuse{relateddelim\strfield{relatedtype}}}}}% + {}}% + \ifbibmacroundef{related:\strfield{relatedtype}}% + {\appto{\do}{\usebibmacro{related:default}}}% + {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}% + \iffieldformatundef{related:\strfield{relatedtype}}% + {\def\bbx@tempa{related}}% + {\def\bbx@tempa{related:\strfield{relatedtype}}}% + \iffieldformatundef{relatedstring:\strfield{relatedtype}}% + {\def\bbx@tempb{relatedstring:default}}% + {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}% + \printtext[\bbx@tempa]{% + \usebibmacro{begrelatedloop}% + \iffieldundef{relatedstring}% + {\ifboolexpr{% + test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}% + and + test {\ifbibxstring{\thefield{relatedtype}s}}% + }% + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}% + {\iffieldbibstring{relatedtype}% + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}% + {}}}% + {\iffieldbibstring{relatedstring}% + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}% + {\printfield[\bbx@tempb]{relatedstring}}}% + \docsvfield{related}% + \usebibmacro{endrelatedloop}}}% + {}% + \usebibmacro{endrelated}}}% + +%%% List of all CMS bibliography strings %%% + +\NewBibliographyString{% + afterwordto,% + broadcast,% + by,% + bychoreographer,% + bycompileraf,% + bycompileran,% + bycompileranaf,% + bycompileranfo,% + bycompileranin,% + bycompilerco,% + bycompilercoaf,% + bycompilercofo,% + bycompilercoin,% + bycompilerfo,% + bycompilerin,% + byconductor,% + bydirector,% + byeditoralt,% + byeditorcp,% + byeditorcpaf,% + byeditorcpan,% + byeditorcpanaf,% + byeditorcpanfo,% + byeditorcpanin,% + byeditorcpco,% + byeditorcpcoaf,% + byeditorcpcofo,% + byeditorcpcoin,% + byeditorcpfo,% + byeditorcpin,% + byeditortrcp,% + byeditortrcpaf,% + byeditortrcpan,% + byeditortrcpanaf,% + byeditortrcpanfo,% + byeditortrcpanin,% + byeditortrcpco,% + byeditortrcpcoaf,% + byeditortrcpcofo,% + byeditortrcpcoin,% + byeditortrcpfo,% + byeditortrcpin,% + bynone,% + byproducer,% + bytranslatorcp,% + bytranslatorcpaf,% + bytranslatorcpan,% + bytranslatorcpanaf,% + bytranslatorcpanfo,% + bytranslatorcpanin,% + bytranslatorcpco,% + bytranslatorcpcoaf,% + bytranslatorcpcofo,% + bytranslatorcpcoin,% + bytranslatorcpfo,% + bytranslatorcpin,% + canadasection,% + canadasections,% + cbyannotator,% + cbyauthor,% + cbychoreographer,% + cbycollaborator,% + cbycommentator,% + cbycompiler,% + cbycompileraf,% + cbycompileran,% + cbycompileranaf,% + cbycompileranfo,% + cbycompileranin,% + cbycompilerco,% + cbycompilercoaf,% + cbycompilercofo,% + cbycompilercoin,% + cbycompilerfo,% + cbycompilerin,% + cbyconductor,% + cbycontinuator,% + cbydirector,% + cbyeditor,% + cbyeditoraf,% + cbyeditoralt,% + cbyeditoran,% + cbyeditoranaf,% + cbyeditoranfo,% + cbyeditoranin,% + cbyeditorco,% + cbyeditorcoaf,% + cbyeditorcofo,% + cbyeditorcoin,% + cbyeditorcp,% + cbyeditorcpaf,% + cbyeditorcpan,% + cbyeditorcpanaf,% + cbyeditorcpanfo,% + cbyeditorcpanin,% + cbyeditorcpco,% + cbyeditorcpcoaf,% + cbyeditorcpcofo,% + cbyeditorcpcoin,% + cbyeditorcpfo,% + cbyeditorcpin,% + cbyeditorfo,% + cbyeditorin,% + cbyeditortr,% + cbyeditortraf,% + cbyeditortran,% + cbyeditortranaf,% + cbyeditortranfo,% + cbyeditortranin,% + cbyeditortrco,% + cbyeditortrcoaf,% + cbyeditortrcofo,% + cbyeditortrcoin,% + cbyeditortrcp,% + cbyeditortrcpaf,% + cbyeditortrcpan,% + cbyeditortrcpanaf,% + cbyeditortrcpanfo,% + cbyeditortrcpanin,% + cbyeditortrcpco,% + cbyeditortrcpcoaf,% + cbyeditortrcpcofo,% + cbyeditortrcpcoin,% + cbyeditortrcpfo,% + cbyeditortrcpin,% + cbyeditortrfo,% + cbyeditortrin,% + cbyfounder,% + cbynone,% + cbyorganizer,% + cbyproducer,% + cbyredactor,% + cbytranslator,% + cbytranslatoraf,% + cbytranslatoran,% + cbytranslatoranaf,% + cbytranslatoranfo,% + cbytranslatoranin,% + cbytranslatorco,% + cbytranslatorcoaf,% + cbytranslatorcofo,% + cbytranslatorcoin,% + cbytranslatorcp,% + cbytranslatorcpaf,% + cbytranslatorcpan,% + cbytranslatorcpanaf,% + cbytranslatorcpanfo,% + cbytranslatorcpanin,% + cbytranslatorcpco,% + cbytranslatorcpcoaf,% + cbytranslatorcpcofo,% + cbytranslatorcpcoin,% + cbytranslatorcpfo,% + cbytranslatorcpin,% + cbytranslatorfo,% + cbytranslatorin,% + century,% + cfromamerican,% + cfrombrazilian,% + cfrombulgarian,% + cfromcatalan,% + cfromcroatian,% + cfromczech,% + cfromdanish,% + cfromdutch,% + cfromenglish,% + cfromestonian,% + cfromfinnish,% + cfromfrench,% + cfromgalician,% + cfromgerman,% + cfromgreek,% + cfromitalian,% + cfromjapanese,% + cfromlatin,% + cfromnorwegian,% + cfrompolish,% + cfromportuguese,% + cfromrussian,% + cfromslovak,% + cfromslovene,% + cfromspanish,% + cfromswedish,% + cfromukrainian,% + choreographer,% + choreographers,% + commenton,% + conductor,% + conductors,% + decade,% + director,% + directors,% + discrecorded,% + edamerican,% + edbrazilian,% + edbulgarian,% + edcatalan,% + edcroatian,% + edczech,% + eddanish,% + eddutch,% + edenglish,% + edestonian,% + edfinnish,% + edfrench,% + edgalician,% + edgerman,% + edgreek,% + editalian,% + editorcompiler,% + editorcompilers,% + editortranscompiler,% + editortranscompilers,% + editortranslator,% + editortranslators,% + edjapanese,% + edlatin,% + ednorwegian,% + edpolish,% + edportuguese,% + edrussian,% + edslovak,% + edslovene,% + edspanish,% + edswedish,% + edukrainian,% + forewordto,% + hereinafter,% + inlang,% + introductionto,% + none,% + nones,% + note,% + numbers,% + of,% + on,% + origedition,% + origpub,% + origpublin,% + origpubyear,% + origpubyearalt,% + origreleaseyear,% + origshownyear,% + partvolume,% + patentfiled,% + patentissued,% + preface,% + printed,% + producer,% + producers,% + pseudonym,% + review,% + revisededition,% + selfpublished,% + songrecorded,% + subsection,% + subsections,% + subverbis,% + subverbo,% + supranote,% + track,% + transcompiler,% + transcompilers% + }% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.cbx new file mode 100644 index 00000000000..bf8060da7fe --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.cbx @@ -0,0 +1,7184 @@ +% 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-notes16.cbx}[2020/04/20 v 3.14 biblatex citation style] + +%%%% Biblatex initialization + Chicago options + Toggles %%%% + +\newbool{cms:bracket}% Date-handling booleans +\newbool{cms:extraparens} +\newbool{cms:comma} +\newbool{cms:nd} + +\providecommand*{\mkibid}[1]{#1} + +\providetoggle{cms@oneyear}% Needed for author-date +\providetoggle{cms@reprint}% ditto +\providetoggle{cms@switchdates}% ditto + +\providetoggle{cms@jrcomma}% For comma before Jr./Sr. + +\providetoggle{cms@url}% These are for the field-exclusion options +\providetoggle{cms@urltime}% 17th ed. +\providetoggle{cms@doi} +\providetoggle{cms@doionly} +\providetoggle{cms@eprint} +\providetoggle{cms@isbn} +\providetoggle{cms@numbermonth} +\providetoggle{cms@bookpages} +\providetoggle{cms@hidevolumes}% Modify volume fix +\providetoggle{cms@bookseries} +\providetoggle{cms@notefield} +\providetoggle{cms@addendum} +\providetoggle{cms@comprange} +\providetoggle{cms@compyears} +\providetoggle{cms@modpostnote} +\providetoggle{cms@url@innotes} +\providetoggle{cms@ukord} + +\providetoggle{cms@bc}% Attempt to provide correct dateera handling +\providetoggle{cms@alwaysrange}% Turns off decade and century handling +\providetoggle{cms@decaderange}% Only turns off decade handling +\providetoggle{cms@centuryrange}% Only turns off century handling +\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa +\providetoggle{cms@noyearbrackets}% +\providetoggle{cms@nodates}% + +\providetoggle{cms@strict} +\providetoggle{cms@headlessnote} +\providetoggle{cms@origcite} +\providetoggle{cms@fullnote} +\providetoggle{cms@shortnote} +\providetoggle{cms@allshort} +\providetoggle{cms@noibid} +\providetoggle{cms@noidem} +\providetoggle{cms@namedash} +\providetoggle{cms@usecompiler} +\providetoggle{cms@shorthandibid} +\providetoggle{cms@printshhand} +\providetoggle{cms@fullshhand} +\providetoggle{cms@inheritshhand} +\providetoggle{cms@firstshort} +\providetoggle{cms@origpublished} +\providetoggle{cms@loccit} +\providetoggle{cms@annotation} +\providetoggle{cms@postposit} +\providetoggle{cms@legalnotes}% For legal types +\providetoggle{cms@supranotes}% Ditto +\providetoggle{cms@noneshort}% Ditto +\providetoggle{cms@vol} +\providetoggle{cms@postvol} +\providetoggle{cms@usedvol} +\providetoggle{cms@citecrossref} +\providetoggle{cms@bibcrossref} +\providetoggle{cms@bookcitexref} +\providetoggle{cms@bookbibxref} +\providetoggle{cms@xrefvol} +\providetoggle{cms@xrefpart} +\providetoggle{cms@omitxrefdate} +\providetoggle{cms@xrefurl} +\providetoggle{cms@related} +\providetoggle{cms@citerel} +\providetoggle{cms@gencite} +\providetoggle{cms@genallnames} + +\AtEveryCitekey{% + \iffieldundef{userc}% + {}% + {\nocite{\thefield{userc}}}% + \global\togglefalse{cms@loccit}% + \global\csundef{@cmsst}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}% + \ifboolexpr{% + test {\iffieldundef{origyear}}% + or + test {\iffieldundef{year}}% + or + not test {\iffieldint{year}}% + or + not test {\iffieldint{origyear}}% + or + togl {cms@switchdates}% + }% + {}% + {\ifboolexpr{% Needed for open-ended ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}}% + {}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}}% + {}}}}% + +\protected\def\cms@warning@noline#1{% + \begingroup + \blx@safe@actives + \PackageWarningNoLine{biblatex-chicago}{#1}% + \endgroup} + +%% These are options for extended date attributes + +\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{% + \settoggle{cms@alwaysrange}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{% + \settoggle{cms@decaderange}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{% + \settoggle{cms@centuryrange}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{% + \settoggle{cms@nodatebrackets}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{% + \settoggle{cms@noyearbrackets}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{nodates}[true]{% + \settoggle{cms@nodates}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{% + \settoggle{cms@genallnames}{#1}} + +\DeclareBibliographyOption{annotation}[true]{% + \global\toggletrue{cms@annotation}} + +\DeclareBibliographyOption[boolean]{noibid}[true]{% + \global\toggletrue{cms@noibid}} + +\DeclareBibliographyOption[boolean]{dashed}[true]{% + \settoggle{cms@namedash}{#1}} + +\DeclareBibliographyOption[boolean]{short}[true]{% + \global\settoggle{cms@allshort}{#1}} + +\DeclareBibliographyOption[boolean]{legalnotes}[true]{% + \global\settoggle{cms@legalnotes}{#1}} + +\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{% + \settoggle{cms@supranotes}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{noneshort}[true]{% + \settoggle{cms@noneshort}{#1}} + +\DeclareBibliographyOption[boolean]{shorthandibid}[true]{% + \global\toggletrue{cms@shorthandibid}} + +\DeclareBibliographyOption[boolean]{shorthandfull}[true]{% + \settoggle{cms@fullshhand}{#1}} + +\DeclareBibliographyOption[boolean]{inheritshorthand}[true]{% + \settoggle{cms@inheritshhand}{#1}% + \iftoggle{cms@inheritshhand}% + {\DeclareDataInheritance{*}{*}{% + \inherit{shorthand}{shorthand} + \inherit{shorthandintro}{shorthandintro} + }}% + {}}% + +\DeclareBiblatexOption{global,entry}[boolean]{shorthandfirst}[true]{% + \settoggle{cms@firstshort}{#1}} + +\DeclareBibliographyOption[boolean]{compresspages}[true]{% + \global\settoggle{cms@comprange}{#1}}% + +\DeclareBibliographyOption[boolean]{compressyears}[true]{% + \global\settoggle{cms@compyears}{#1}}% + +\DeclareBibliographyOption[string]{postnotepunct}[true]{% + \ifcsdef{cms@opt@ppunct@#1}% + {\csuse{cms@opt@ppunct@#1}}% + {\blx@err@invopt{postnotepunct=#1}{}}}% +\def\cms@opt@ppunct@true{% + \global\toggletrue{cms@modpostnote}}% +\def\cms@opt@ppunct@false{}% + +\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% + \settoggle{blx@usenamec}{#1}} + +\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{% + \settoggle{cms@jrcomma}{#1}} + +\DeclareBiblatexOption{global,entry}[boolean]{delayvolume}[true]{% + \settoggle{cms@postvol}{#1}} + +\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{% + \ifcsdef{cms@opt@lxref@#1}% + {\csuse{cms@opt@lxref@#1}}% + {\blx@err@invopt{longcrossref=#1}{}}}% +\def\cms@opt@lxref@none{% + \togglefalse{cms@citecrossref}% + \togglefalse{cms@bibcrossref}% + \togglefalse{cms@bookcitexref}% + \togglefalse{cms@bookbibxref}}% +\def\cms@opt@lxref@true{% + \toggletrue{cms@citecrossref}% + \toggletrue{cms@bibcrossref}}% +\def\cms@opt@lxref@false{% + \togglefalse{cms@citecrossref}% + \togglefalse{cms@bibcrossref}}% +\def\cms@opt@lxref@notes{% + \toggletrue{cms@citecrossref}% + \togglefalse{cms@bibcrossref}}% +\def\cms@opt@lxref@bib{% + \togglefalse{cms@citecrossref}% + \toggletrue{cms@bibcrossref}}% + +\DeclareBiblatexOption{global,entry}[string]{booklongxref}[true]{% + \ifcsdef{cms@opt@bklxref@#1}% + {\csuse{cms@opt@bklxref@#1}}% + {\blx@err@invopt{booklongxref=#1}{}}}% +\def\cms@opt@bklxref@true{% + \toggletrue{cms@bookcitexref}% + \toggletrue{cms@bookbibxref}}% +\def\cms@opt@bklxref@false{% + \togglefalse{cms@bookcitexref}% + \togglefalse{cms@bookbibxref}}% +\def\cms@opt@bklxref@notes{% + \toggletrue{cms@bookcitexref}% + \togglefalse{cms@bookbibxref}}% +\def\cms@opt@bklxref@bib{% + \togglefalse{cms@bookcitexref}% + \toggletrue{cms@bookbibxref}}% + +\DeclareBiblatexOption{global,entry}[boolean]{omitxrefdate}[true]{% + \settoggle{cms@omitxrefdate}{#1}}% + +\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{% + \settoggle{cms@xrefurl}{#1}}% + +\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{% + \ifcsdef{cms@opt@jtabb@#1}% + {\csuse{cms@opt@jtabb@#1}}% + {\csuse{cms@opt@jtabb@false}\cms@warning@noline% + {'journalabbrev=#1' isn't a valid option.\MessageBreak + The default - 'false' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@jtabb@true{% + \toggletrue{cms@citejtabb}% + \toggletrue{cms@bibjtabb}}% +\def\cms@opt@jtabb@false{% + \togglefalse{cms@citejtabb}% + \togglefalse{cms@bibjtabb}}% +\def\cms@opt@jtabb@notes{% + \toggletrue{cms@citejtabb}% + \togglefalse{cms@bibjtabb}}% +\def\cms@opt@jtabb@bib{% + \togglefalse{cms@citejtabb}% + \toggletrue{cms@bibjtabb}}% + +\DeclareBibliographyOption[boolean]{ordinalgb}[true]{% + \settoggle{cms@ukord}{#1}}% + +% The field-exclusion options % + +\DeclareBiblatexOption{global,type,entry}[boolean]{urlnotes}[true]{% + \settoggle{cms@url@innotes}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{% + \settoggle{cms@urltime}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{% + \settoggle{cms@isbn}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{% + \settoggle{cms@url}{#1}}% +\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{% + \ifcsdef{cms@opt@doi@#1}% + {\csuse{cms@opt@doi@#1}}% + {\blx@err@invopt{doi=#1}{}}}% +\def\cms@opt@doi@true{% + \toggletrue{cms@doi}}% +\def\cms@opt@doi@false{% + \togglefalse{cms@doi}}% +\def\cms@opt@doi@only{% + \toggletrue{cms@doionly}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% + \settoggle{cms@eprint}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{% + \settoggle{cms@numbermonth}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{% + \settoggle{cms@bookpages}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{% + \settoggle{cms@isbn}{#1}% + \settoggle{cms@url}{#1}% + \settoggle{cms@urltime}{#1}% 17th ed. + \settoggle{cms@doi}{#1}% + \settoggle{cms@eprint}{#1}% + \settoggle{cms@numbermonth}{#1}% + \settoggle{cms@bookpages}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{% + \settoggle{cms@hidevolumes}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{addendum}[true]{% + \settoggle{cms@addendum}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{bookseries}[true]{% + \settoggle{cms@bookseries}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{notefield}[true]{% + \settoggle{cms@notefield}{#1}}% +\DeclareBibliographyOption{completenotes}[true]{% + \settoggle{cms@addendum}{#1}% + \settoggle{cms@bookseries}{#1}% + \settoggle{cms@notefield}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[string]{related}[bib]{% + \ifcsdef{cms@opt@rel@#1}% + {\csuse{cms@opt@rel@#1}}% + {\csuse{cms@opt@rel@bib}\cms@warning@noline% + {'related=#1' is not a valid option.\MessageBreak + The default - 'bib' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@rel@true{% + \settoggle{cms@citerel}{true}% + \settoggle{cms@related}{true}}% +\def\cms@opt@rel@false{% + \settoggle{cms@citerel}{false}% + \settoggle{cms@related}{false}}% +\def\cms@opt@rel@bib{% + \settoggle{cms@citerel}{false}% + \settoggle{cms@related}{true}}% +\def\cms@opt@rel@notes{% + \settoggle{cms@citerel}{true}% + \settoggle{cms@related}{false}}% + +% Adding a disambiguating field to short notes otherwise identical % + +\DeclareBiblatexOption{global,type,entry}[string]{shortextrafield}{% + \def\cms@xfield{#1}}% + +\DeclareBiblatexOption{global,type,entry}[string]{shortextraformat}{% + \def\cms@xformat{#1}}% + +\DeclareBiblatexOption{global,type,entry}[string]{shortextrapunct}[comma]{% + \ifcsdef{cms@opt@shxp@#1}% + {\csuse{cms@opt@shxp@#1}}% + {\csuse{cms@opt@shxp@comma}\cms@warning@noline% + {'shortextrapunct=#1' is not a valid option.\MessageBreak + The default - 'comma' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@shxp@none{% + \let\shortextrapunct\@empty}% +\def\cms@opt@shxp@comma{% + \def\shortextrapunct{\addcomma\addspace}}% +\def\cms@opt@shxp@colon{% + \def\shortextrapunct{\addcolon\addspace}}% +\def\cms@opt@shxp@space{% + \def\shortextrapunct{\addspace}}% +\def\cms@opt@shxp@semicolon{% + \def\shortextrapunct{\addsemicolon\addspace}}% +\def\cms@opt@shxp@period{% + \def\shortextrapunct{\addperiod\addspace}}% + +% Controlling punctuation before titleaddon fields % + +\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{% + \ifcsdef{cms@opt@ptao@#1}% + {\csuse{cms@opt@ptao@#1}}% + {\csuse{cms@opt@ptao@period}\cms@warning@noline% + {'ptitleaddon=#1' is not a valid option.\MessageBreak + The default - 'period' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@ptao@none{% + \let\ptitleaddonpunct\@empty}% +\def\cms@opt@ptao@comma{% + \def\ptitleaddonpunct{\addcomma\addspace}}% +\def\cms@opt@ptao@colon{% + \def\ptitleaddonpunct{\addcolon\addspace}}% +\def\cms@opt@ptao@space{% + \def\ptitleaddonpunct{\addspace}}% +\def\cms@opt@ptao@semicolon{% + \def\ptitleaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@ptao@period{% + \def\ptitleaddonpunct{\addperiod\addspace}}% + +\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{% + \ifcsdef{cms@opt@ctao@#1}% + {\csuse{cms@opt@ctao@#1}}% + {\csuse{cms@opt@ctao@comma}\cms@warning@noline% + {'ctitleaddon=#1' is not a valid option.\MessageBreak + The default - 'comma' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@ctao@none{% + \let\ctitleaddonpunct\@empty}% +\def\cms@opt@ctao@comma{% + \def\ctitleaddonpunct{\addcomma\addspace}}% +\def\cms@opt@ctao@colon{% + \def\ctitleaddonpunct{\addcolon\addspace}}% +\def\cms@opt@ctao@space{% + \def\ctitleaddonpunct{\addspace}}% +\def\cms@opt@ctao@semicolon{% + \def\ctitleaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@ctao@period{% + \def\ctitleaddonpunct{\addperiod\addspace}}% + +% Controlling punctuation before shorthand in notes % + +\DeclareBiblatexOption{global,type,entry}[string]{shorthandpunct}[space]{% + \ifcsdef{cms@opt@shp@#1}% + {\csuse{cms@opt@shp@#1}}% + {\csuse{cms@opt@shp@space}\cms@warning@noline% + {'shorthandpunct=#1' isn't a valid option.\MessageBreak + The default - 'space' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@shp@none{% + \let\shorthandpunct\@empty}% +\def\cms@opt@shp@comma{% + \def\shorthandpunct{\addcomma\addspace}}% +\def\cms@opt@shp@colon{% + \def\shorthandpunct{\addcolon\addspace}}% +\def\cms@opt@shp@space{% + \def\shorthandpunct{\addspace}}% +\def\cms@opt@shp@semicolon{% + \def\shorthandpunct{\addsemicolon\addspace}}% +\def\cms@opt@shp@period{% + \def\shorthandpunct{\addperiod\addspace}}% +\def\cms@opt@shp@emdash{% + \def\shorthandpunct{\addthinspace\textemdash\addthinspace}}% +\def\cms@opt@shp@endash{% + \def\shorthandpunct{\addspace\textendash\addspace}}% + +\ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,% + related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,% + legalnotes,supranotes,shortextrapunct,dashed} + +\iftoggle{cms@legalnotes}% +{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% +{}% + +% For author-date compatibility % + +\DeclareEntryOption[boolean]{switchdates}[true]{% + \settoggle{cms@switchdates}{#1}}% + +\DeclareEntryOption{cmsdate}{}% + +\DeclareBibliographyOption{cmsdate}{}% + +\DeclareBibliographyOption[boolean]{strict}[true]{% + \settoggle{cms@strict}{#1}% + \iftoggle{cms@strict}% + {\let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0} + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }}% + {}} + + +\protected\def\blx@newcunit{% + \iftoggle{blx@keepunit}% + {}% + {\global\let\blx@unitpunct\newcunitpunct + \global\toggletrue{blx@unit}}}% + +\appto\blx@blxinit{% + \let\newcunit\blx@newcunit} + +\newcommand*{\newcunitpunct}{\addcomma\addspace} + +\def\mkbibcurdinal#1{% + \@tempcnta0#1 \the\@tempcnta}% + +\@ifpackagelater{biblatex}{2010/08/28} +{}% +{\PackageError{biblatex} + {Outdated 'biblatex' package} + {The Chicago style requires biblatex v0.9 or later.\MessageBreak + You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak + This is a fatal error. I'm aborting now.}% + \endinput} + +% American-specific punctuation change for 16th edition % + +\DefineBibliographyExtras{american}{% + \DeclarePunctuationPairs{comma}{*!?}} + +%%%% Initialize and define bibstrings %%%% + +\DefineBibliographyStrings{english}{% + citedas = {hereafter cited as},} + +%%%% This one needed for 16th edition. Others in cms-*.lbx %%%% + +%%%% Cite macros for use by the citation commands %%%% + +\newbibmacro*{cite:init}{% + \global\let\cbx@lastkey\undefined} + +\newbibmacro*{cite:save}{% + \savefield{entrykey}{\cbx@lastkey}% + \ifthenelse{\ifentrytype{inreference}\OR\ifentrytype{reference}\OR% + \ifentrytype{mvreference}}% + {\global\toggletrue{cms@noidem}}% + {\global\togglefalse{cms@noidem}}}% + +\newbibmacro*{cite}{% + \ifboolexpr{% + test {\ifciteseen}% + and + ( + not togl {cms@noneshort}% Intended for Bluebook citations + or + ( + test {\ifciteibid}% + and + not test {\iffirstonpage}% + and + not togl {cms@noibid}% + ) + ) + }% + {\ifboolexpr{% + test {\iffieldundef{shorthand}}% + or + ( + togl {blx@skipbiblist}% + and + togl {cms@inheritshhand}% + and + not test {\iffieldundef{crossref}}% + ) + }% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}% + \usebibmacro{cite:save}}% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short}% + \usebibmacro{cite:save}}}% + {\iftoggle{cms@shorthandibid}% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}% + \usebibmacro{cite:save}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}}}% + {\ifboolexpr{% + togl{cms@firstshort}% + and + not test {\iffieldundef{shorthand}}% + }% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}% + {\iftoggle{cms@allshort}% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \global\toggletrue{cms@printshhand}% + \usebibmacro{cite:short}% + \usebibmacro{cite:save}}% + {\global\toggletrue{cms@fullnote}% + \global\togglefalse{cms@shortnote}% + \usebibmacro{footcite:save}% FIXME!! + \usebibmacro{cite:full}% + \usebibmacro{cite:save}}}}}% + +\newbibmacro*{cite:full}{% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\frenchspacing}% + {cite:\thefield{entrytype}}}}% + +\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% + \ifentrytype{reference}\OR% + \ifentrytype{mvreference}}% + {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \ifentrytype{periodical}}% Simplify .bib creation + {\ifuseauthor% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\printfield[shortjournal]{shortjournal}\newcunit}% + {\printfield[journaltitle]{journaltitle}\newcunit}}% + {}}% + {\ifentrytype{manual}% + {\printlist{organization}\isdot\newcunit}% + {}}}% + {\ifboolexpr{% + test {\ifciteidem}% + and + not test {\ifbibliography}% + and + not test {\iffirstonpage}% + and + not togl {cms@noidem}% + and + not togl {cms@headlessnote}% + }% + {\bibstring[\mkibid]{idem\thefield{gender}}% + \classicpunct}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\classicpunct}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\classicpunct}% + {\printnames{labelname}%\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 {\iffieldundef{extratitle}}% + 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}}% + {\cms@xtime}% See below; stops spurious parentheses appearing + {\printtext[\csuse{cms@xformat}]{% + \printnames[default]{\csuse{cms@xfield}}}}}% + {\printtext[\csuse{cms@xformat}]{% + \printlist{\csuse{cms@xfield}}}}}% + {\ifboolexpr{% + test {\ifcsstring{cms@xfield}{month}}% + or + test {\ifcsstring{cms@xfield}{origmonth}}% + or + test {\ifcsstring{cms@xfield}{eventmonth}}% + or + test {\ifcsstring{cms@xfield}{urlmonth}}% + }% + {\printtext[\csuse{cms@xformat}]{% + \mkbibmonth{\thefield{\csuse{cms@xfield}}}}}% + {\ifboolexpr{% + test {\ifcsstring{cms@xfield}{day}}% + or + test {\ifcsstring{cms@xfield}{origday}}% + or + test {\ifcsstring{cms@xfield}{eventday}}% + or + test {\ifcsstring{cms@xfield}{urlday}}% + }% + {\printtext[\csuse{cms@xformat}]{% + \printfield[letterday]{\csuse{cms@xfield}}}}% + {\ifboolexpr{% + test {\ifcsstring{cms@xfield}{season}}% + or + test {\ifcsstring{cms@xfield}{origseason}}% + or + test {\ifcsstring{cms@xfield}{eventseason}}% + or + test {\ifcsstring{cms@xfield}{urlseason}}% + }% + {\printtext[\csuse{cms@xformat}]{% + \mkbibseason{\thefield{\csuse{cms@xfield}}}}}% + {\IfSubStr{\cms@xfield}{year}% + {\StrCut{\cms@xfield}{year}\cms@yeartype\cms@tempnull% + \iffieldundef{\csuse{cms@yeartype}year}% + {}% + {\printtext[\csuse{cms@xformat}]{% + \csuse{print\cms@yeartype dateextra}}}}% + {\printtext[\csuse{cms@xformat}]{% + \printfield{\csuse{cms@xfield}}}}}}}}}% + +\newrobustcmd*{\cms@xtime}{% Tests for presence of field before printing + \IfSubStr{\cms@xfield}{time}% + {\StrCut{\cms@xfield}{time}\cms@timetype\cms@tempnull% + \iffieldundef{\csuse{cms@timetype}hour}% + {}% + {\printtext[\csuse{cms@xformat}]{% + \csuse{print\cms@timetype date}% + \newcunit\csuse{print\cms@timetype time}}}}% + {\IfSubStr{\cms@xfield}{date}% + {\StrCut{\cms@xfield}{date}\cms@datetype\cms@tempnull% + \ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND% + \iffieldundef{\csuse{cms@datetype}month}\AND% + \iffieldundef{\csuse{cms@datetype}season}}% + {}% + {\printtext[\csuse{cms@xformat}]{% + \csuse{print\cms@datetype date}}}}% + {}}} + +\newbibmacro*{footcite:save}{% + \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}}}% + {\printtext[cmshyperlink]{% + \printfield[citetitle]{labeltitle}}}}% + \newcunit% Fixme: giving us a duplicate comma + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% Test eliminates spurious comma + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + % \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]{% + \printfield{shorthand}}}% + {\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}% + {\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}% + or + test {\ifbibliography}% Needed for inheritshorthand option + }% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short}% + \usebibmacro{cite:save}}% + {\iftoggle{cms@allshort}% + {\printtext[bibhyperref]{% + \usebibmacro{choose:ibidstring}}}%\bibstring[\mkibid]{ibidem} + {\printtext[cmshyperlink]{% + \usebibmacro{choose:ibidstring}}}%\bibstring[\mkibid]{ibidem} + \ifboolexpr{% + test {\ifloccit}% + or + ( + test {\ifciteibid}% + and + test {\iffieldequalcs{postnote}{cms@pnsaved}}% + and + not test {\ifdefvoid{\blx@loccittracker}}% Package option=false + ) + }% + {\global\toggletrue{cms@loccit}}% + {}}}% + +\newbibmacro*{cite:journal}{% + \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\iffieldundef{prenote}% + {\bibsentence\usebibmacro{cite:ibid}}% + {\usebibmacro{cite:ibid}}% + \usebibmacro{cite:save}}% + {\iffieldundef{journaltitle}% + {\usebibmacro{cite:short}% + \usebibmacro{cite:save}}% + {\ifboolexpr{% + test {\ifciteidem}% + and + not test {\ifbibliography}% + and + not test {\iffirstonpage}% + and + not togl {cms@noidem}% + }% + {\iffieldundef{prenote}% + {\bibsentence\bibstring[\mkibid]{idem\thefield{gender}}% + \newcunit}% + {\bibstring[\mkibid]{idem\thefield{gender}}% + \newcunit}}% + {\iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket\newcunit}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket\newcunit}% + {\printnames{labelname}% + \isdot\newcunit}}}% + \iftoggle{cms@allshort}% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\printtext[bibhyperref]{% + \printfield[shortjournal]{shortjournal}}}% + {\printtext[bibhyperref]{% + \printfield[journaltitle]{journaltitle}}}}% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\printtext[bibhyperlink]{% + \printfield[shortjournal]{shortjournal}}}% + {\printtext[bibhyperlink]{% + \printfield[journaltitle]{journaltitle}}}}% + \iffieldundef{volume}% + {\iffieldundef{number}% + {\iffieldundef{issue}% + {\newcunit% + \usebibmacro{number+or+month}}% + {\newcunit% + \printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}% + {\newcunit% + \printfield[journum]{number}}}% + {\toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \setunit{\addspace}% + \printfield[jourvol]{volume}% + \ifthenelse{\iffieldundef{pagination}\AND% + \iffieldundef{bookpagination}}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}}}}}% + +%% Macros from verbose.cbx %% + +\newbibmacro*{textcite}{% + \ifnameundef{labelname}% + {\printfield[citetitle]{labeltitle}}% + {\printnames{labelname}}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iflastcitekey}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}}% + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash}% + {}}% + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}}% + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}}% + {\setcounter{textcitemaxnames}{\value{uniquelist}}}% + {}}% + {\ifnumless{\value{labelname}}{\value{maxnames}}% + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}}% + {\setcounter{textcitemaxnames}{\value{labelname}}}% + {}}% + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}}% + {\setcounter{textcitemaxnames}{\value{maxnames}}}% + {}}}}% + +%%%% Citation Commands, internal and external %%%% + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\cmsnoopcite}% +{}{}{}{}% + +\DeclareCiteCommand{\bibxrefcite} + {\usebibmacro{backref+check}}% So cites in biblio don't turn up + {\usebibmacro{cms-in:}% in backref list + \ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT% + \(\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR% + \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}\)}% + {\clearname{author}% + \clearname{shortauthor}% + \clearname{labelname}}% + {}% + \toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \ifboolexpr{% + togl {cms@inheritshhand}% + and + not test {\iffieldundef{shorthand}}% + }% + {\usebibmacro{cite}}% + {\usebibmacro{cite:short}}}% Would {cite} be better? + {}% + {\usebibmacro{crossref:volume+postnote}}% Volume fix + +\DeclareCiteCommand{\bookbibxrefcite} + {\usebibmacro{backref+check}}% So cites in biblio don't turn up + {\iffieldequals{fullhash}{\bbx@lasthash}% in backref list + {\ifthenelse{\ifentrytype{collection}\OR% + \ifentrytype{proceedings}\OR\ifentrytype{mvcollection}\OR% + \ifentrytype{mvproceedings}}% + {\clearname{editor}% + \clearname{shorteditor}% + \clearname{labelname}}% + {\clearname{author}% + \clearname{shortauthor}% + \clearname{labelname}}}% + {}% + \toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \usebibmacro{bibxref-in:}% + \ifboolexpr{% + togl {cms@inheritshhand}% + and + not test {\iffieldundef{shorthand}}% + }% + {\usebibmacro{cite}}% + {\usebibmacro{cite:short}}}% + {}% + {\usebibmacro{crossref:volume+postnote}}% Volume fix + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \blx@ibidreset + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite} + [\iffootnote{}{\mkbibfootnote}] + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareMultiCiteCommand{\smartcites}[\iffootnote{}{\mkbibfootnote}]% +{\smartcite}{\multicitedelim} + +\DeclareCiteCommand{\footfullcite}[\mkbibfootnote] + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:full}% + \usebibmacro{cite:save}} + {\multicitedelim} + {} + +\DeclareCiteCommand{\fullcite} + {\usebibmacro{prenote}}%\bibsentence + {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:full}% + \usebibmacro{cite:save}} + {\multicitedelim} + {} + +\DeclareCiteCommand{\origfullcite} + {\usebibmacro{backref+check}% + \ifhyperref% + {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}% + {}% + \nopunct}%\unspace% Put \nopunct and \unspace here for 0.8e. + {\usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \usebibmacro{clearorigin}\clearfield{userf}\clearfield{shorthand}% + \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% + \frenchspacing}% + {cite:\thefield{entrytype}}% + \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}% + {\multicitedelim}% + {\finentry}% Helps with annotated bibliographies (?) + +\DeclareCiteCommand{\origpublcite}% Similar to above, w/o title. + {\usebibmacro{backref+check}% + \ifhyperref% + {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}% + {}% + \nopunct% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\addspace}{\unspace}}%\unspace Put \nopunct and \unspace here for 0.8e. + {\usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \usebibmacro{clearpublin}\clearfield{shorthand}% + \usebibmacro{cms:titlehook}% + \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% + \toggletrue{cms@origpublished}\frenchspacing}% + {cite:\thefield{entrytype}}% + \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}% + {\multicitedelim}% + {\finentry} + +\DeclareCiteCommand{\headlessfullcite} + {\usebibmacro{prenote}}% + {\printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\usebibmacro{cite:save}% + \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% + \usebibmacro{clear+labelname}\global\toggletrue{cms@noidem}}% + {cite:\thefield{entrytype}}}}% + {\multicitedelim}% + {}%\usebibmacro{finentry}} + +\DeclareCiteCommand{\headlesscite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \toggletrue{cms@headlessnote}% + \usebibmacro{clear+labelname}% + \clearname{labelname}% + \usebibmacro{cite}% + \global\toggletrue{cms@noidem}}% + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\headlessparencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \toggletrue{cms@headlessnote}% + \usebibmacro{clear+labelname}% + \clearname{labelname}% + \usebibmacro{cite}% + \global\toggletrue{cms@noidem}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\headlessparenshortcite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \ifboolexpr{% + togl{cms@firstshort}% + and + not test {\iffieldundef{shorthand}}% + }% + {\usebibmacro{cite:shorthand}}% + {\toggletrue{cms@headlessnote}% + \toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \clearname{labelname}% + \usebibmacro{cite:short}}% + \global\toggletrue{cms@noidem}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\surnamecite} + {\usebibmacro{prenote}}%\usebibmacro{hlcprenote}} + {\usebibmacro{citeindex}% + \ifboolexpr{% + ( + test {\ifciteseen}% + or + togl {cms@allshort}% + ) + and + not togl {cms@noneshort}% + }% + {\usebibmacro{cite:short}} + {\renewbibmacro*{author/editor}{\usebibmacro{choose+surname}}% + \renewbibmacro*{editor}{\usebibmacro{choose+surname}}% + \renewbibmacro*{author}{\usebibmacro{choose+surname}}% + \usebibmacro{cite}}}% + {\multicitedelim}% + {\usebibmacro{cite:postnote}} + +\DeclareMultiCiteCommand{\surnamecites}{surnamecite}{\multicitedelim} + +\DeclareCiteCommand{\shortcite} + {\usebibmacro{prenote}} + {\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \usebibmacro{citeindex}% + \usebibmacro{cite:short}% + \usebibmacro{cite:save}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\shorthandcite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iftoggle{cms@shorthandibid}% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}% + \usebibmacro{cite:save}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:save}% + \global\toggletrue{cms@noidem}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citejournal}% Name? + {\usebibmacro{prenote}} + {\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \clearfield{pages}% + \usebibmacro{citeindex}% + \usebibmacro{cite:journal}% + \usebibmacro{cite:save}} + {\multicitedelim} + {\iftoggle{cms@loccit}% + {}% + {\usebibmacro{fullpostnote}}} + +\DeclareCiteCommand{\citeauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \ifciteindex + {\indexnames{labelname}} + {}% + \printnames{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\newrobustcmd*{\Headlesscite}{\bibsentence\headlesscite} + +\newrobustcmd*{\Headlesscites}{\bibsentence\headlesscites} + +\DeclareMultiCiteCommand{\citetitles}{citetitle}{\multicitedelim} + +\DeclareMultiCiteCommand{\headlesscites}{headlesscite}{\multicitedelim} + +\DeclareMultiCiteCommand{\headlessfullcites}{headlessfullcite}{\multicitedelim} + +\DeclareMultiCiteCommand{\headlessparencites}[\mkbibparens]% +{headlessparencite}{\multicitedelim} + +\DeclareMultiCiteCommand{\headlessparenshortcites}[\mkbibparens]% +{headlessparenshortcite}{\multicitedelim} + +%% Textcite commands adapted from verbose.cbx %% + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {}% + {\iffirstcitekey + {}% + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\cms@textcite@i] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}% + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}}% + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash}% + {}% + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}}% + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\iffootnote + {\protected@xappto\cbx@textcite@args{\nopunct}% + \protected@xappto\cbx@footcite@args{\thefield{postpunct}}}% + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% Switch + \protected@xappto\cbx@footcite@args{\nopunct}}}% these two? + {}} + {}} + {} + {} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\cms@textcites@i]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\renewcommand*{\textcitedelim}{% + \iffinalcitedelim% + {\ifnumgreater{\value{textcitetotal}}{2}% + {\addcomma}% + {}% + \addspace\bibstring{and}}% + {\addcomma}% + \addspace}% + +\newrobustcmd{\cms@textcite@i}{% + \iffootnote{\foottextcite}{\footcite}} + +\newrobustcmd{\cms@textcites@i}{% + \iffootnote{\foottextcites}{\footcites}} + +\newcommand{\foottextcite}{\addspace\headlessparenshortcite} + +\newcommand{\foottextcites}{\addspace\headlessparenshortcites} + +%%% The \gentextcite commands - \textcite in the genitive case %%% + +\DeclareCiteCommand{\cms@gentextcite@i} + {\usebibmacro{textcite:init}% + \toggletrue{cms@gencite}}% + {\iffieldequals{namehash}{\cbx@lasthash}% + {}% + {\iffirstcitekey + {}% + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\togglefalse{cms@gencite}}% + +\DeclareCiteCommand{\cms@gentextcite}[\cbx@textcite@init\cms@gentextcite@i\cms@textcite@i] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}% + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}}% + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash}% + {}% + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}}% + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\iffootnote + {\protected@xappto\cbx@textcite@args{\nopunct}% + \protected@xappto\cbx@footcite@args{\thefield{postpunct}}}% + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% Switch + \protected@xappto\cbx@footcite@args{\nopunct}}}% these two? + {}} + {}} + {} + {} + +\DeclareMultiCiteCommand{\cms@gentextcite@is}{\cms@gentextcite@i}{} +\DeclareMultiCiteCommand{\cms@gentextcites} + [\cbx@textcites@init\cms@gentextcite@is\cms@textcites@i]{\cms@gentextcite}{} + +\newrobustcmd*{\gentextcite}[1][]{% + \@ifnextchar[%] + {\gencite@i[#1]}% + {\gencite@i[][#1]}}% + +\def\gencite@i[#1][#2]{% + \@ifnextchar[%] + {\gencite@ii[#1][#2]}% + {\gencite@ii[][#1][#2]}}% + +\def\gencite@ii[#1][#2][#3]#4{% + \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}% + \gencite@iii[#2][#3]{#4}}% + +\def\gencite@iii#1{\cms@gentextcite#1} + +\newrobustcmd*{\gentextcites}[1][]{% + \@ifnextchar(%) + {\gencites@iv[#1]}% + {\@ifnextchar[%] + {\gencites@i[#1]}% + {\gencites@i[][#1]}}}% + +\def\gencites@i[#1][#2]{% + \@ifnextchar[%] + {\gencites@ii[#1][#2]}% + {\gencites@ii[][#1][#2]}}% + +\def\gencites@ii[#1][#2][#3]#4{% + \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}% + \gencites@iii[#2][#3]{#4}}% + +\def\gencites@iii#1{\cms@gentextcites#1}% + +\def\gencites@iv[#1]#2{% + \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}% + \cms@gentextcites#2}% + +\newrobustcmd*{\Gentextcite}{\bibsentence\gentextcite} +\newrobustcmd*{\Gentextcites}{\bibsentence\gentextcites} + +%%% End code for \gentextcite %%% + +%%%% Drivers for the Long Note Format %%%% + +\DeclareBibliographyDriver{cite:article}{% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{bibindex}% + \usebibmacro{cmag+news+author}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{cmag+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}%\newblock% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addcomma\addspace}\newblock + \usebibmacro{mag+news+date}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{cmag+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addcomma\addspace}% + \usebibmacro{cjournal+issue+year+pages}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:artwork}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \usebibmacro{citaltitle+stitle}% + \newcunit\newblock + \usebibmacro{date}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \printfield{howpublished}% + \newcunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{institution+organization}% + \newcunit\newblock + \printlist{location}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:audio}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + {\toggletrue{cms@usedvol}% + \printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct} + \printfield{maintitleaddon}}} + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \newcunit + \printfield{type}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isan}% + \newcunit\newblock + \printfield{ismn}}% + {}% + \newcunit\newblock% + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:book}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace}% + \usebibmacro{cite:xref+date}% + \newcunit + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newcunit + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \iftoggle{cms@bookpages}% + {}% + {\clearfield{pages}}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \printlist[][-\value{listtotal}]{lista}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{book:xref+finentry}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:bookinbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace}% + \usebibmacro{cite:xref+date}% + \newcunit\newblock + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \setunit*{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{book:xref+finentry}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:booklet}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \usebibmacro{citaltitle+stitle}% + \newcunit\newblock + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{howpubl+loc+year}}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:collection}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace} + \usebibmacro{cite:xref+date}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit\newblock + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{book:xref+finentry}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}% This seems to work. Only with Vol? + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:customc}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \newcunit\newblock + \printfield{nameaddon}% + \setunit*{\addspace}% + \usebibmacro{italtitle+stitle}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:image}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}% + \usebibmacro{citaltitle+stitle}% + \newcunit%\setunit{\addcomma\addspace}% + \usebibmacro{date}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \printfield{howpublished}% + \newcunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{institution+organization}% + \newcunit\newblock + \printlist{location}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \setunit{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@citecrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@citecrossref}% + }% + {\usebibmacro{chapincoll}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{cite:xref+finentry}}% +{\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}% + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \setunit{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@citecrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@citecrossref}% + }% + {\usebibmacro{chapincoll}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{cite:xref+finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \setunit{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@citecrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@citecrossref}% + }% + {\usebibmacro{chapincoll}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit\newblock + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{org+publ+loc+year}}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{cite:xref+finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{citaltitle+stitle}% + \newcunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{inreffullpostnote}% + \newcunit\newblock%setunit{\addspace}% 16th ed + \ifnameundef{author}% + {}% + {\printtext{% 16th ed + \bibstring{by}% + \addspace% + \printnames{author}}}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:jurisdiction}{% + \iffieldequalstr{entrysubtype}{square}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext[brackets]{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% Moved before addendum + \setunit{\addspace}\newblock + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\iffieldequalstr{entrysubtype}{round}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext[parens]{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% Moved before addendum + \setunit{\addspace}\newblock + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \iffieldundef{issue}% + {\printfield[jurisdictionser]{series}}% + {\setunit{\addspace}% + \printfield{issue}}% Better ideas? + \setunit{\addspace}% + \printlist{origpublisher}% Extra reporters, same pagination + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printlist{origlocation}% Extra reporters, different pagination + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \ifboolexpr{% + test {\iffieldundef{year}}% + and + test {\iflistundef{location}}% + }% + {}% + {\printtext[parens]{% + \printlist{location}% + \setunit*{\addspace}% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% Moved before addendum + \setunit{\addspace}\newblock + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}} + +\DeclareBibliographyDriver{cite:legal}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \newcunit% + \iffieldundef{year}% + {}% + {\printtext{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \newcunit%\setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \setunit{\addspace}% + \printfield{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + \usebibmacro{juridpostnote}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% Moved before addendum + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:legislation}{% + \iffieldequalstr{entrysubtype}{uk}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \setunit{\addcomma\addspace}% + \printfield{note}% Needed here? + \newcunit% + \iffieldundef{year}% + {}% + {\printtext{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \newcunit%\setunit*{\addspace}% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \setunit{\addspace}% + \printfield{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + \usebibmacro{juridpostnote}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% Moved before addendum + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\iffieldequalstr{entrysubtype}{hansard}% FIXME? + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield[juridnum]{number}% + \setunit{\addcomma\addspace}% + \printfield{note}% Needed here? + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \setunit{\addspace}% + \printfield[hansardser]{series}% + \setunit{\addspace}% + \iffieldundef{year}% + {}% + {\printtext[parens]{% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \usebibmacro{juridpostnote}% + \setunit{\addspace}% + \printlist{location}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% Moved before addendum + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + {\usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{clegis+news+title}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addspace}% FIXME? + \printfield[juridnum]{number}% + \setunit{\addcomma\addspace}% + \printfield{note}% Needed here? + \newcunit% + \printfield[jourvol]{volume}% + \setunit*{\addnbspace}% + \iffieldundef{shortjournal}% + {}% + {\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + \newcunit% + \printfield{series}% + \setunit{\addspace}% + \printfield{issue}% + \newcunit% + \printfield{part}% + \newcunit% + \printfield{chapter}% + \usebibmacro{juridpostnote}% + \setunit{\addspace}% + \ifboolexpr{% + test {\iffieldundef{year}}% + and + test {\iffieldundef{usera}}% + and + test {\iflistundef{location}}% + }% + {}% + {\printtext[parens]{% + \printlist{location}% + \setunit*{\addspace}% + \printfield{usera}% + \setunit*{\addspace}% + \begingroup% Better ideas? + \let\abx@bibmonth\blx@imc@bibsstring% + \usebibmacro{date}\endgroup}}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \setunit{\addspace}\newblock% + \printfield{addendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}}} + +\DeclareBibliographyDriver{cite:letter}{% + \usebibmacro{bibindex}% + \savefield{fullhash}{\bbx@lasthash}% + \printtext[title]{% + \printfield[noformat]{title}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit*{\addcomma\addspace}% + \usebibmacro{letter+date}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit\newblock% + \usebibmacro{cpart+editor+translator}% + \setunit*{\addcomma\addspace}% + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@citecrossref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@citecrossref}% + }% + {\usebibmacro{chapincoll}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubletter+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{cite:xref+finentry}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{xref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed. + \usebibmacro{xrefprenote}% Volume fix + \usebibmacro{xrefchapincoll}% + \bibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:manual}{% + \usebibmacro{bibindex}% + \usebibmacro{author+org}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% + \usebibmacro{citaltitle+stitle}% + \newcunit + \usebibmacro{edition}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \printfield{type}% + \newcunit + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{org+publ+loc+year}}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:misc}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}% + \iffieldundef{entrysubtype}% + {\usebibmacro{citaltitle+stitle}}% + {\printfield{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit% + \usebibmacro{unpubl+letter+date}}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \printfield{howpublished}% + \newcunit\newblock + \printfield{type}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \printfield{note}% + \newcunit\newblock + \usebibmacro{institution+organization}% + \newcunit\newblock + \printlist{location}% + \iffieldundef{entrysubtype}% + {\newcunit\newblock + \usebibmacro{date}}% + {}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:music}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}% + \usebibmacro{citaltitle+stitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit\newblock + \usebibmacro{cpart+editor+translator}% + \newcunit\newblock + \usebibmacro{music+eventdate}% + \newcunit\newblock + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{addspace}}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + {\toggletrue{cms@usedvol}% + \printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}} + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \printfield{version}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}% + \newcunit\newblock + \printlist{publisher}% + \newcunit\newblock + \printfield{series}% + \setunit{\addspace}% + \printfield{number}% + \newcunit\newblock + \usebibmacro{date}% + \newcunit + \usebibmacro{institution+organization}% + \newcunit\newblock + \printlist{location}% + \newcunit\newblock + \printfield{type}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \usebibmacro{pubstate}% 16th ed. + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{iswc}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{cite:mvbook}{cite:book} + +\DeclareBibliographyAlias{cite:mvcollection}{cite:collection} + +\DeclareBibliographyAlias{cite:mvproceedings}{cite:proceedings} + +\DeclareBibliographyAlias{cite:mvreference}{cite:reference} + +\DeclareBibliographyDriver{cite:online}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}% + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \printlist{organization}% Rearranged for 16th ed. + \setunit{\addcomma\addspace}% + \usebibmacro{cnotefield}% + \setunit{\addcomma\addspace} + \usebibmacro{date}% + \usebibmacro{fullpostnote}% + \setunit{\addcomma\addspace}% + \iffieldundef{urlyear}% + {}% + {\printurldate}% Date fix + \newcunit\newblock + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \clearfield{url}}}% + {\printfield{doi}}% + \newcunit\newblock + \usebibmacro{eprint}% + \newcunit\newblock + \printfield{url}% + \newcunit\newblock + \usebibmacro{caddendum}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:patent}{% + \usebibmacro{bibindex}% + \usebibmacro{author+holder}% +holder? + \newcunit\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}\newblock% + \usebibmacro{cnotefield}% + \setunit{\addspace}% + \printtext[parens]{% + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \iflistundef{location}% + {}% + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newcunit\newblock + \printfield{version}% + \newcunit + \iffieldundef{origyear}% + {\iffieldundef{year}% + {}% + {\bibstring{patentfiled}\setunit{\addspace}% Changed to filed + \printdate}}% + {\bibstring{patentfiled}\setunit{\addspace}% + \usebibmacro{cmsorigdate}% + \setunit{\finalandcomma\addspace\bibstring{and}% + \addspace\bibstring{patentissued}\addspace}% + \usebibmacro{date}}% + \usebibmacro{caddendum}}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:periodical}{% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{issuetitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}%\newblock% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addcomma\addspace}\newblock + \usebibmacro{periodical+date+issue}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}% + {\usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{issuetitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addcomma\addspace}% + \usebibmacro{cperiodical+issue+year+pages}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% + \usebibmacro{citaltitle+stitle}% + \setunit{\addspace} + \usebibmacro{cite:xref+date}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \ifboolexpr{% + test {\iffieldundef{crossref}}% + or + not test {\ifentryseen{\thefield{crossref}}}% + or + togl {cms@bookcitexref}% + }% + {\ifboolexpr{% + test {\iffieldundef{xref}}% + or + not test {\ifentryseen{\thefield{xref}}}% + or + togl {cms@bookcitexref}% + }% + {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit\newblock + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{org+publ+loc+year}}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}% + \usebibmacro{book:xref+finentry}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each. + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}}% + {\ifpunctmark{.}% This seems to work. + {\ifbibliography% + {\setunit{\bibsentence}}{\addspace\bibsentence}}% + {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!? + \usebibmacro{xrefprenote}% Volume fix + \bookbibxrefcite{\thefield{crossref}}% + \usebibmacro{xrefpostnote}% + \usebibmacro{finentry}}} + +\DeclareBibliographyDriver{cite:reference}{% + \usebibmacro{bibindex}% + \usebibmacro{citaltitle+stitle}% + \newcunit\newblock + \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:report}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \iffieldequalstr{entrysubtype}{unpublished}% + {\usebibmacro{ctitle+stitle}}% + {\usebibmacro{citaltitle+stitle}}% + \newcunit + \usebibmacro{byauthor}% + \newcunit% + \printfield{type}% + \newcunit + \printfield{series}% + \setunit{\addnbspace}% + \printfield{number}% + \newcunit% + \usebibmacro{cnotefield}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \usebibmacro{inst+loc+year}}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isrn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:review}{% + \usebibmacro{bibindex}% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{cmag+news+author}}% + {\usebibmacro{author/editor}}% + \newcunit\newblock + \printeventdate% 16th ed. + \setunit{\addspace}% + \printfield{nameaddon}% 16th ed. + \newcunit\newblock + \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}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}%\newblock% + \usebibmacro{cpart+editor+translator}% + \newcunit% + \usebibmacro{issuetitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{cbyeditor+others}% + \setunit{\addcomma\addspace}% + \printfield{note}% + \setunit{\addcomma\addspace}% + \iffieldequalstr{entrysubtype}{magazine}% + {\usebibmacro{mag+news+date}}% + {\usebibmacro{cjournal+issue+year+pages}}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{issn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldequalstr{relatedtype}{reviewof}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:suppbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \usebibmacro{hlpunct}%\newcunit\newblock + \usebibmacro{inforaft}% + \setunit{\addspace}\newblock + \usebibmacro{citaltitle+stitle}% + \newcunit + \iffieldundef{maintitle}% + {\iffieldundef{edition}% + {}% + {\usebibmacro{edition}}}% + {}% + \newcunit + \usebibmacro{bybookauthor}% + \newcunit\newblock + \usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{cbyeditor+others}% + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \clearfield{pages}% ?? For 16th ed. + \usebibmacro{caddendum}% + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isbn}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyAlias{cite:suppcollection}{cite:suppbook} + +\DeclareBibliographyAlias{cite:suppperiodical}{cite:review} + +\DeclareBibliographyDriver{cite:thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \setunit{\addcomma\addspace}% + \usebibmacro{cnotefield}% + \setunit{\addspace}% + \printtext[parens]{% + \usebibmacro{type+inst+year}}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \setunit{\addcomma\addspace}% + \usebibmacro{byauthor}% + \newcunit\newblock% + \usebibmacro{cbyeditor+others}% + \setunit{\addspace}\newblock% + \printtext[parens]{% + \printfield{howpublished}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit% + \printlist{location}% + \newcunit\newblock + \iffieldundef{eventyear}% + {\usebibmacro{date}}% + {\printeventdate}}% + \usebibmacro{caddendum}% + \usebibmacro{fullpostnote}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{cite:video}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{hlpunct}% + \usebibmacro{ctitle+stitle}% + \setunit{\addspace}\newblock% + \usebibmacro{language+transtitle}% + \newcunit + \usebibmacro{byauthor}% + \newcunit + \usebibmacro{cpart+editor+translator}% + \newcunit + \usebibmacro{chapinscore}% + \usebibmacro{btitle+bstitle}% + \newcunit + \iffieldundef{edition}% + {}% + {\usebibmacro{edition}}% + \newcunit + \usebibmacro{bybookauthor}% + \usebibmacro{cbyeditor+others}% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}} + {\toggletrue{cms@usedvol}% + \printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}} + \newcunit + \usebibmacro{volume+or+volumes}% + \newcunit\newblock + \usebibmacro{cser+num}% + \newcunit\newblock + \usebibmacro{music+eventdate}% + \newcunit\newblock + \usebibmacro{cnotefield}% + \newcunit\newblock + \usebibmacro{cpubl+loc+year}% + \newcunit\newblock + \printfield{type}% Order of this and next? + \usebibmacro{volfullpostnote}% + \newcunit\newblock + \usebibmacro{caddendum}% + \newcunit\newblock + \iftoggle{cms@isbn}% + {\printfield{isan}}% + {}% + \newcunit\newblock + \usebibmacro{cite+doi+url}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \newcunit\newblock + \usebibmacro{pageref}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@citerel}% + and + not test {\iffieldundef{related}}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}% + \newcunit}% + {}% + \usebibmacro{finentry}} + +%%%% List Formats %%%% + +\DeclareListFormat{language}{% + \ifthenelse{\value{listcount}=1}% + {\bibleftbracket\bibstring{inlang}%\addspace - for inflected langs. + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{lang#1}% + {\bibstring{lang#1}}% + {#1}}% + \ifthenelse{\value{listtotal}=1}% + {\bibrightbracket}% + {}}% + {\ifthenelse{\value{listcount}=\value{listtotal}}% + {\multilangdelim% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{lang#1}% + {\bibstring{lang#1}}% + {#1}}% + \bibrightbracket}% + {\multilangdelim% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{lang#1}% + {\bibstring{lang#1}}% + {#1}}}}% + \usebibmacro{langlist:andothers}} + +\DeclareListFormat{publisher}{% + \ifthenelse{\value{listtotal}<2}% + {#1\isdot}% + {\ifthenelse{\value{listcount}=1}% + {#1}% + {\multipubsdelim #1\isdot}}} + +\DeclareListFormat[jurisdiction]{location}{% + \iffieldundef{entrysubtype}% + {\usebibmacro{list:delim}{#1}% + #1\isdot% + \usebibmacro{list:andothers}}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\mkbibparens{#1}\addspace}% + {\mkbibparens{#1\isdot}}}}% + +\DeclareListFormat[jurisdiction]{origlocation}{% + \ifthenelse{\value{listcount}<\value{listtotal}}% + {#1\isdot\addcomma\addspace}% + {#1\isdot}} + +\DeclareListFormat[jurisdiction]{origpublisher}{% + \ifthenelse{\value{listcount}<\value{listtotal}}% + {\mkbibparens{#1}\addspace}% + {\mkbibparens{#1\isdot}}} + +\DeclareListFormat{periodplace}{\mkbibparens{#1}} + +\DeclareListFormat{lista}{% + \ifthenelse{\value{listtotal}<2}% + {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}% + {\ifthenelse{\value{listcount}=1}% + {\bibsstring{subverbis}\addspace\mkbibquote{#1\isdot}\addcomma}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\addspace\mkbibquote{#1\isdot}\addcomma}% + {\addspace\mkbibquote{#1\isdot}}}}} + +%%%% Field Formats -- Title, Citetitle, Lostitle %%%% + +\DeclareFieldFormat{title}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{citetitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{lostitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,thesis,unpublished] +{title}{% + \iffieldundef{title}% + {}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,thesis,unpublished] +{citetitle}{% + \iffieldundef{title}% + {#1\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat +[article,inbook,incollection,inproceedings,online,thesis,unpublished] +{lostitle}{% + \iffieldundef{title}% + {#1\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat[artwork,image]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[artwork,image]{citetitle}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[artwork,image]{lostitle}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {#1\isdot}} + +\DeclareFieldFormat[letter,patent]{title}{#1\isdot} + +\DeclareFieldFormat[letter,patent]{citetitle}{#1\isdot} + +\DeclareFieldFormat[letter,patent]{lostitle}{#1\isdot} + +\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot} + +%% comprange code moved to .sty + +\DeclareFieldFormat{postnote}{% Changed for page compression option + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{pagination}% + {\mkcomprange{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {#1}% + {\mkpageprefix[pagination]{#1}}}}% + +\DeclareFieldFormat[inreference]{postnote}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addspace\mkbibquote{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addspace\mkbibquote{#1}}% + {\mkpageprefix[pagination]{#1}}}}% + +\newrobustcmd*{\mkjuridprefix}[1]{% + \ifboolexpr{% FIXME: Is this always right? + test {\iftoggle{cms@fullnote}}% + and + test {\ifentrytype{jurisdiction}}% + }% + {\iffieldundef{issue}% + {#1}% + {\printtext{at}\addspace *#1}}% + {\iffieldundef{issue}% + {\printtext{at}\addspace #1}% FIXME: Make it a bibstring? + {\ifentrytype{jurisdiction}% + {\printtext{at}\addspace *#1}% + {\printtext{at}\addspace #1}}}}% + +\DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{pagination}% + {\mkcomprange[\mkjuridprefix]{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {\mkjuridprefix{#1}}% + {\mkpageprefix[pagination]{#1}}}}% + +\DeclareFieldFormat{pages}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\iffieldundef{bookpagination}% + {\mkcomprange{#1}\isdot}% + {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}% + {\iffieldundef{bookpagination}% + {#1\isdot}% + {\mkpageprefix[bookpagination]{#1}}}}% + +\DeclareListFormat{edlang}{% Required for feminine forms in some + \usebibmacro{list:delim}{% languages + \ifbibstring{#1}% + {\bibxstring{#1}}% + {\ifbibstring{ed#1}% + {\bibxstring{ed#1}}% + {\ifcapital{\MakeCapital{#1}}{#1}}}}% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifbibstring{ed#1}% + {\bibstring{ed#1}}% + {\ifcapital{\MakeCapital{#1}}{#1}}}% + \usebibmacro{list:andothers}} + +\DeclareFieldFormat[suppbook,suppcollection]{title}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[suppbook,suppcollection]{citetitle}{% + \usebibmacro{inforaft}% + \addspace% + \mkbibemph{#1}\isdot} + +\DeclareFieldFormat[suppbook,suppcollection]{lostitle}{% + \usebibmacro{inforaft}% + \addspace% + \mkbibemph{#1}\isdot} + +\DeclareFieldFormat[customc]{title}{% + \iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {#1}} + +\DeclareFieldFormat[customc]{citetitle}{% + \iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {\printfield{nameaddon}\addspace #1}} + +\DeclareFieldFormat[misc]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldFormat[misc]{citetitle}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldFormat[misc]{lostitle}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{#1}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldFormat[review,suppperiodical]{title}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +\DeclareFieldFormat[review,suppperiodical]{citetitle}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +\DeclareFieldFormat[review,suppperiodical]{lostitle}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +\DeclareFieldFormat[report]{title}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\mkbibquote{#1\isdot}}% + {\mkbibemph{#1}\isdot}}% + +\DeclareFieldFormat[report]{citetitle}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\mkbibquote{#1\isdot}}% + {\mkbibemph{#1}\isdot}} + +\DeclareFieldFormat[report]{lostitle}{% + \iffieldequalstr{entrysubtype}{unpublished}% + {\mkbibquote{#1\isdot}}% + {\mkbibemph{#1}\isdot}} + +\DeclareFieldFormat[audio,music,video]{title}{% + \iffieldundef{booktitle}% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat[audio,music,video]{citetitle}{% + \iffieldundef{booktitle}% + {\mkbibemph{#1}\isdot}% + {\mkbibquote{#1\isdot}}} + +\DeclareFieldFormat[audio,music,video]{lostitle}{% + \iffieldundef{booktitle}% + {\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. + +\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} + +\DeclareFieldFormat{note}{% + \ifcapital{\MakeCapital{#1}}{#1}}% + +\DeclareFieldFormat +[audio,manual,music,patent,report,suppbook,suppcollection,thesis,video] +{type}{% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifcapital% + {\MakeCapital{#1\isdot}}% + {#1\isdot}}} + +\DeclareFieldFormat[artwork,image]{type}{% + \ifcapital% + {\MakeCapital{#1}}% + {#1}} + +\DeclareFieldFormat{url}{\url{#1}} + +\DeclareFieldFormat{doi}{% + \textrm{doi}\addcolon + \ifhyperref + {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} + +\DeclareFieldFormat[music]{date}{% Generalize userd ??? + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}% + \OR\NOT\iffieldundef{eventyear}\OR\NOT\iffieldundef{origyear}}% + {#1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{date}{% Generalize userd ??? + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}% + \OR\NOT\iffieldundef{eventyear}}% + {#1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat{date}{% Generalize userd ??? + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}}% + {#1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat{urldate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{urlseen}\addspace #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{urldate}{% 16th ed. + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% + {\bibstring{urlseen}\addspace #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[music]{urldate}{% 16th ed. + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}% + \OR\NOT\iffieldundef{origyear}}% + {\bibstring{urlseen}\addspace #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[music]{origdate}{% 16th ed. + \iftoggle{cms@reprint}% Date fix + {#1}% + {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% + {\bibstring{discrecorded}\addspace #1}% Can now match gender + {\printfield{userd}\addspace #1}}} + +\DeclareFieldFormat[music]{eventdate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{songrecorded}\addspace #1}% Can now match gender + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{eventdate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{broadcast}\addspace #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldAlias{userd}{titleaddon}% 16th ed. + +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! + +\DeclareFieldFormat[review,suppperiodical]{nameaddon}{#1\bibsentence} + +\DeclareFieldFormat[customc]{nameaddon}{% For cross-refs + \ifbibstring{#1}% + {\mkbibemph{\bibstring{#1}}}% + {#1}} + +\DeclareFieldFormat{edition}{% New in 0.8 + \ifinteger{#1} + {\mkbibordedition{#1}~\bibstring{edition}}% + {\ifcapital + {\MakeCapital{#1\isdot}}% + {#1\isdot}}} + +\DeclareFieldFormat{year}{% To cope with abbreviation n.d. + \iftoggle{cms@fullnote}% + {#1\bibsentence}% + {#1\isdot}}% (?) + +\DeclareFieldFormat[misc]{year}{#1\isdot} + +\DeclareFieldFormat[article]{year}{% To cope with abbreviation n.d. + \iffieldequalstr{entrysubtype}{magazine}% + {#1\isdot} + {#1\bibsentence}} + +\DeclareFieldAlias[review]{year}[article]{year} + +\DeclareFieldAlias[periodical]{year}[article]{year} + +\DeclareFieldAlias[suppperiodical]{year}[article]{year} + +\DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? + +\DeclareFieldFormat{titleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? + +\DeclareFieldAlias{booktitleaddon}{titleaddon} + +\DeclareFieldAlias{maintitleaddon}{titleaddon} + +\DeclareFieldFormat[jurisdiction,legal,legislation]{journaltitle}{% + \iffieldundef{shortjournal}% + {#1\isdot}% + {\mkbibemph{#1}\isdot}} + +\DeclareFieldFormat[jurisdiction,legal,legislation]{shortjournal}{#1\isdot} + +\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{issuetitle}{\mkbibquote{#1\isdot}} + +\DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{shorttitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{jourser}{% + \ifinteger{#1}% + {\mkbibordseries{#1}% + \addnbspace% + \bibstring{jourser}}% + {\ifbibstring{#1}{\bibstring{#1}}{#1}}}% + +\DeclareFieldFormat{jurisdictionser}{% + \ifinteger{#1}% + {\mkjuridordinal{#1}}% + {\ifbibstring{#1}{\bibstring{#1}}{#1}}}% + +\DeclareFieldFormat{legislationser}{% + \iffieldequalstr{entrysubtype}{hansard}% + {\ifinteger{#1}% + {\addspace\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}% + {\ifbibstring{#1}% + {\addspace\mkbibparens{\bibstring{#1}}}% + {\addspace\mkbibparens{#1}}}}% + {\iffieldequalstr{entrysubtype}{uk}% + {\addspace #1\isdot}% + {\addcomma\addspace #1\isdot}}}% + +\DeclareFieldFormat{legalser}{\addspace #1\isdot}% + +\DeclareFieldFormat{hansardser}{% + \ifinteger{#1}% + {\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}% + {\ifbibstring{#1}{\mkbibparens{\bibstring{#1}}}{\mkbibparens{#1}}}}% + +\DeclareFieldFormat{journum}{% Revised for 0.9.5 + \ifboolexpr{% + test {\ifnumerals{#1}}% + and + not test {\ifnumeral{#1}}% + }% + {\bibstring{numbers}\addspace #1}% + {\bibstring{number}\addspace #1}}% + +\DeclareFieldFormat{juridnum}{\bibcpstring{number}\addspace #1}% + +\DeclareFieldFormat{jourvol}{#1} + +\DeclareFieldFormat{sernum}{% + \ifnumeral{#1}% + {\addnbspace #1}% + {\addcomma\addspace #1}} + +\DeclareFieldFormat{series}{#1\isdot} + +\DeclareFieldFormat{addendum}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +\DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{% + \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}} + +% This works better here than in the entrytail macro -- userf use is +% no longer a problem, though the page breaking still isn't ideal. + +\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1} + +\DeclareFieldFormat{part}{% xref revision ??? + \ifnumerals{#1}% + {\addcomma\addspace\bibstring{partvolume}~#1}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}} + +\DeclareFieldFormat{xrefpart}{% xref revision ??? + \ifnumerals{#1}% + {\bibstring{partvolume}~#1}% + {\ifcapital{\MakeCapital{#1}}{#1}}} + +\DeclareFieldFormat[legal,legislation]{part}{% + \ifnumerals{#1}% + {\bibsstring{part}~#1}% + {#1\isdot}}% + +\DeclareFieldFormat[legal,legislation]{chapter}{% + \ifthenelse{\iffieldequalstr{entrysubtype}{uk}\OR% + \iffieldequalstr{entrysubtype}{hansard}}% + {c\adddotspace #1}% + {ch\adddotspace #1}}% + +%% This tries to get hyperlinks from shortened cross-ref'd notes to %% +%% long notes working properly. Used in short and shorthand cites. %% + +\DeclareFieldFormat{cmshyperlink}{% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\bibhyperlink{\thefield{entrykey}}{#1}}% + {\ifboolexpr{(( + test {\ifentrytype{book}}% + or + test {\ifentrytype{bookinbook}}% + or + test {\ifentrytype{collection}}% + or + test {\ifentrytype{proceedings}}% + ) + and + not togl {cms@bookcitexref}% + ) + or + (( + test {\ifentrytype{inbook}}% + or + test {\ifentrytype{letter}}% + or + test {\ifentrytype{incollection}}% + or + test {\ifentrytype{inproceedings}}% + ) + and + not togl {cms@citecrossref}% + ) + }% + {\bibhyperlink{\thefield{xref}}{#1}}% + {\bibhyperlink{\thefield{entrykey}}{#1}}}}% + {\ifboolexpr{(( + test {\ifentrytype{book}}% + or + test {\ifentrytype{bookinbook}}% + or + test {\ifentrytype{collection}}% + or + test {\ifentrytype{proceedings}}% + ) + and + not togl {cms@bookcitexref}% + ) + or + (( + test {\ifentrytype{inbook}}% + or + test {\ifentrytype{letter}}% + or + test {\ifentrytype{incollection}}% + or + test {\ifentrytype{inproceedings}}% + ) + and + not togl {cms@citecrossref}% + ) + }% + {\bibhyperlink{\thefield{crossref}}{#1}}% + {\bibhyperlink{\thefield{entrykey}}{#1}}}} + +\DeclareFieldAlias[review]{volume}[article]{volume} + +\DeclareFieldAlias[suppperiodical]{volume}[article]{volume} + +%%%% Related field formats from biblatex.def %%%% + +\DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens + +\DeclareFieldFormat{related:origpubin}{#1} + +\DeclareFieldFormat{relatedstring:default}{% For notes + bib + \ifboolexpr{% + test {\iffieldundef{relatedstring}}% + or + test {\iffieldbibstring{relatedstring}}% + }% + {#1}% + {\ifcapital% + {\MakeCapital{#1}}% + {#1}}% + \ifentrytype{jurisdiction}% + {\newcunit}% + {\printunit{\relatedpunct}}}% + +\DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib + \ifboolexpr{% + test {\iffieldundef{relatedstring}}% + or + test {\iffieldbibstring{relatedstring}}% + }% + {#1}% + {\ifcapital% + {\MakeCapital{#1}}% + {#1}}% + \addspace}% + +%%%% Commands, for users and internal %%%% + +\newcommand*{\cbytypeeditor}{% + \iffieldundef{editortype}% + {\bibstring{cbytypeeditor}}% + {\bibstring{cbytype\thefield{editortype}}}}% + +\renewcommand*{\multicitedelim}{\addsemicolon\addspace} + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\renewcommand*{\subtitlepunct}{% Follows CMS16 spec. + \ifboolexpr{% + test {\ifterm}% + and + not test {\ifcsdef{@cmsst}}% + }% + {\addspace}% + {\addcolon\addspace% + \global\csundef{@cmsst}}% +} + +\newcommand{\custpunct}{% + \iftoggle{cms@fullnote}% + {\iffieldequalstr{type}{plain}% + {}% + {\addcomma}}% + {\iftoggle{cms@shortnote}% + {\iffieldundef{postnote}% + {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}% + {}% + {\addperiod}}% + {\addcomma}}% + {\addperiod}}} + +\newcommand{\custpunctb}{% + \iftoggle{cms@fullnote}% + {\iffieldequalstr{userb}{plain}% + {}% + {\addcomma}}% + {\iftoggle{cms@shortnote}% + {\iffieldundef{postnote}% + {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}% + {}% + {\addperiod}}% + {\addcomma}}% + {\addperiod}}} + +\newcommand{\classicpunct}{% 16th ed. + \ifthenelse{\(\iffieldequalstr{entrysubtype}{classical}\AND% + \iffieldundef{labeltitle}\)\OR + \ifentrytype{letter}}% + {\setunit*{\addspace}}% + {\setunit*{\addcomma\addspace}}} + +\newcommand*{\reprintpunct}{% + \iftoggle{cms@fullnote}% + {\setunit*{\addsemicolon\addspace}}% + {\setunit*{\addperiod\addspace}}} + +\newcommand*{\encypunct}{% for named entries in an encyclopedia + \iftoggle{cms@fullnote}% + {\ifentrytype{book}% + {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND + \iffieldundef{isbn}\AND\iffieldundef{url}}% + {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}% + {}% + {\addperiod}}% + {\addcomma}}% + {\ifnameundef{author}% + {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND + \iffieldundef{isbn}\AND\iffieldundef{url}}% + {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}% + {}% + {\addperiod}}% + {\addcomma}}% + {}}}% + {\ifentrytype{book}% + {\addperiod}% + {\ifnameundef{author}% + {\addperiod}% + {}}}}% + +\newcommand*{\postvolpunct}{\addcolon}% For vol:page customization + +\newcommand*{\parttrans}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbytranslator}\addspace}% + {\bibstring{bytranslator}\addspace}}% + +\protected\def\partedit#1{% + \ifcat\noexpand~\noexpand#1% + \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \ifx\addnbspace#1% + \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \ifx\addspace#1% + \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \if#1H% + \appto{\cms@tempb}{#1}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \if#1h% + \appto{\cms@tempb}{#1}% + \def\cms@tempa{\futurelet\cms@tempa\partedit}% + \else% + \def\cms@tempa{\part@edit@i\lbx@initnamehook{#1}% + \csuse{cms@tempb}#1\csundef{cms@tempb}}% + \fi% + \fi% + \fi% + \fi% + \fi% + \cms@tempa% +}% + +\newcommand*{\part@edit@i}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbyeditor}\addspace}% + {\bibstring{byeditor}\addspace}}% + +\newcommand*{\partcomp}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbycompiler}\addspace}% + {\bibstring{bycompiler}\addspace}}% + +\newcommand*{\parteditandcomp}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbyeditorcp}\addspace}% + {\bibstring{byeditorcp}\addspace}}% + +\newcommand*{\parttransandcomp}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbytranslatorcp}\addspace}% + {\bibstring{bytranslatorcp}\addspace}}% + +\newcommand*{\partedittransandcomp}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbyeditortrcp}\addspace}% + {\bibstring{byeditortrcp}\addspace}}% + +\newcommand*{\parteditandtrans}{% + \iftoggle{cms@fullnote}% + {\bibstring{cbyeditortr}\addspace}% + {\bibstring{byeditortr}\addspace}}% + +\newcommand*{\reprint}{% + \iftoggle{cms@fullnote}% + {\bibsstring{reprint}}% + {\bibstring{reprint}}}% + +\newcommand*{\multipubsdelim}{\addnbspace/\addspace} + +\newcommand*{\multilocsdelim}{% + \ifthenelse{\value{listcount}<\value{liststop}}% + {\ifthenelse{\numexpr\value{listcount}+1<\value{liststop}}% + {\addcomma\addspace}% + {\ifthenelse{\value{liststop}>2}% + {\addcomma\addspace\bibstring{and}\addspace}% + {\addspace\bibstring{and}\addspace}}}% + {}}% + +\newcommand*{\multilangdelim}{% + \ifthenelse{\value{listtotal}<3}% + {\addspace\bibstring{and}\addspace}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\addcomma\addspace}% + {\addcomma\addspace\bibstring{and}\addspace}}}% + +\renewcommand*{\postnotedelim}{% + \ifboolexpr{% + test {\ifciteibid}% + and + ( + test {\ifentrytype{jurisdiction}}% + or + test {\ifentrytype{legal}}% + or + test {\ifentrytype{legislation}}% + ) + }% + {\addspace}% + {\iftoggle{cms@shortnote}% + {\iffieldequalstr{entrysubtype}{classical}% + {\DeclareNumChars*{abcdeABCDE:}% Makes classical + \iffieldpages{postnote}% test more accurate. See 17.253. + {\addspace}% + {\addcomma\addspace}\DeclareNumChars{.}}% + {\addcomma\addspace}}% 16th ed -- no more volumes test. + {\iftoggle{cms@fullnote}% + {\ifthenelse{\(\ifentrytype{article}\OR + \ifentrytype{review}\OR + \ifentrytype{periodical}\OR + \ifentrytype{suppperiodical}\)\AND\NOT + \iffieldequalstr{entrysubtype}{magazine}}% + {\addcolon\addspace}% + {\addcomma\addspace}}% + {\addcomma\addspace}}}}% + +\newcommand*{\postnotewrapper}{% + \iftoggle{cms@modpostnote}% + {\ifboolexpr{% + test {\iffieldstart{postnote}{,}}% + or + test {\iffieldstart{postnote}{\bibrangessep}}% + }% + {\addcomma}% w/ or w/o \addspace? + {\ifboolexpr{% + test {\iffieldstart{postnote}{;}}% + or + test {\iffieldstart{postnote}{:}}% + or + test {\iffieldstart{postnote}{.}}% + }% + {}{\postnotedelim}}}% + {\postnotedelim}}% + +\newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from + \begingroup% comp.text.tex + \edef\@tempa{% + \long\def\noexpand\iffieldstart@i####1\detokenize{#2}####2}% + \@tempa\@nil{\endgroup\ifblank{##1}}% + \savefield*{#1}{\@tempa}% + \expandafter\iffieldstart@i\detokenize + \expandafter\expandafter\expandafter{% + \expandafter\@tempa\detokenize{#2}}\@nil} + +\newcommand*{\editordelim}{% + \ifboolexpr{% + test {\iffieldequalstr{editortype}{none}}% + and + not togl {cms@fullnote}% + }% + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace + +\newcommand*{\nameadelim}{% + \ifboolexpr{% + test {\iffieldequalstr{nameatype}{none}}% + and + not togl {cms@fullnote}% + }% + {\newunit}%\addperiod\addspace + {\newcunit}}%\addcomma\addspace + +\DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide + \begingroup% final {by}. + \blx@bibstringnormal% + \usebibmacro{list:delim}{% + \ifbibstring{from#1}% + {\bibxlstring{cfrom#1}}% + {\ifbibstring{clang#1}% + {\bibxlstring{lang#1}}% + {#1}}}% + \ifbibstring{cfrom#1}% + {\ifboolexpr{% + test {\ifnumless{\value{listcount}}{\value{liststop}}}% + or + test {\ifmoreitems}% + }% + {\bibstring{from#1}}% + {\bibstring{cfrom#1}}}% + {\ifbibstring{lang#1}% + {\biblstring{lang#1}}% + {#1}}% + \usebibmacro{list:andotherlangs}% + \endgroup} + +\newbibmacro*{list:andotherlangs}{% Final {by} after {andmore} + \ifboolexpr{% + test {\ifnumequal{\value{listcount}}{\value{liststop}}}% + and + test {\ifmoreitems}% + }% + {\ifnumgreater{\value{liststop}}{1}% + {\finalandcomma}% + {}% + \printdelim{andmoredelim}\bibstring{andmore}\addspace\bibstring{by}}% + {}} + +\newcommand*{\lbx@cfromlang}{% Because the cbytranslator string can't + \iffieldundef{userf}% have {by} in it unless there's an origlanguage. + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[cfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +\renewcommand*{\lbx@fromlang}{% + \iffieldundef{userf}% + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[lfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +\renewcommand*{\lbx@lfromlang}{% + \iffieldundef{userf}% + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[lfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +\renewcommand*{\lbx@sfromlang}{% + \iffieldundef{userf}% + {\iflistundef{origlanguage}% + {\unspace}% + {\printlist[sfromoriglanguage]{origlanguage}}}% + {\unspace}}% + +%%%% Formatting macros, called both by cbx and bbx %%%% + +\newbibmacro*{finentry}{%{\finentry} To make annotated bibliography + \togglefalse{cms@switchdates}% + \ifbibliography + {\usebibmacro{entrytail}}% + {}% + \finentry} + +\newbibmacro*{book:xref+finentry}{% FIXME + \ifthenelse{\iffieldundef{crossref}\OR\ifbibliography}% + {\ifthenelse{\iffieldundef{xref}\OR\ifbibliography}% + {}% + {\iftoggle{cms@bookcitexref}% + {\cms@citetracker@xref}% + {\bibhypertarget{\thefield{xref}}% + {\cms@citetracker@xref}}}}% + {\iftoggle{cms@bookcitexref}% + {\cms@citetracker@crossref}% + {\bibhypertarget{\thefield{crossref}}% + {\cms@citetracker@crossref}}}}% + +\newbibmacro*{cite:xref+finentry}{% FIXME + \ifthenelse{\iffieldundef{crossref}\OR\ifbibliography}% + {\ifthenelse{\iffieldundef{xref}\OR\ifbibliography}% + {}% + {\iftoggle{cms@citecrossref}% + {\cms@citetracker@xref}% + {\bibhypertarget{\thefield{xref}}% + {\cms@citetracker@xref}}}}% + {\iftoggle{cms@citecrossref}% + {\cms@citetracker@crossref}% + {\bibhypertarget{\thefield{crossref}}% + {\cms@citetracker@crossref}}}}% + +\newbibmacro*{allshort+firstcite+xref}{% + \ifboolexpr{% + ( + togl {cms@citecrossref}% + and + togl {cms@bookcitexref}% + ) + or + not togl {cms@allshort}% + }% + {}% + {\ifciteseen% + {}% + {\iffieldundef{crossref}% + {\iffieldundef{xref}% + {}% + {\cms@citetracker@xref}}% + {\cms@citetracker@crossref}}}}% + +\def\cms@citetracker@crossref{% cf. \blx@citetracker@global + \ifbool{citetracker}% + {\xifinlistcs\abx@field@crossref{blx@bsee@\the\c@refsection}% + {}% + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@crossref}}% + {}}% + +\def\cms@citetracker@xref{% cf. \blx@citetracker@global + \ifbool{citetracker}% + {\xifinlistcs\abx@field@xref{blx@bsee@\the\c@refsection}% + {}% + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@xref}}% + {}}% + + +\newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography + \newunit\newblock + \iftoggle{cms@annotation}% + {\usebibmacro{annotation}% + \newunit\newblock}% + {}}% + +\newbibmacro*{author+holder}{% + \ifnameundef{author}% + {}% + {\printnames{author}% + \ifthenelse{\ifnameundef{holder}\OR% + \ifnamesequal{author}{holder}}% + {}% + {\setunit{\addspace}% + \printtext[parens]{\printnames{holder}}}}} + +\renewbibmacro*{byauthor}{% + \ifthenelse{\ifuseauthor\OR% + \ifnameundef{author}}% + {}% + {\bibstring{by}\addspace% + \printnames[byauthor]{author}}} + +\newbibmacro*{byauthorpunct}{% + \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}% + {\addperiod\addspace}% + {\newcunit}} + +\renewbibmacro*{bybookauthor}{% + \ifnameundef{bookauthor}% + {}% + {\ifnamesequal{author}{bookauthor}% + {}% + {\bibstring{by}\addspace\printnames[default]{bookauthor}% + \newcunit\newblock}}} + +\newbibmacro*{editorpunct}{% + \ifthenelse{\(\iffieldundef{booktitle}\AND% + \iffieldundef{maintitle}\AND\iffieldundef{issuetitle}\)% + \OR\iffieldsequal{booktitle}{title}% Changed these for crossrefed + \OR\iffieldsequal{maintitle}{title}}% entries. Create problems? + {\ifentrytype{video}% Change for Video type? Appears + {\newcunit\newblock}% to treat italicized title as booktitle in + {\newunit\newblock}}% available examples. Added issuetitle 0.9.9c. + {\newcunit\newblock}} + +\newbibmacro*{edition}{% + \printfield{edition}% + \clearfield{edition}}% + +\newbibmacro*{inforaft}{% + \ifnameundef{introduction}% + {\ifnameundef{afterword}% + {\ifnameundef{foreword}% + {\printfield{type}}% + {\bibstring{forewordto}% + \clearname{foreword}}}% 16th ed. + {\bibstring{afterwordto}% + \clearname{afterword}}}% + {\bibstring{introductionto}% + \clearname{introduction}}} + +\newbibmacro*{langlist:andothers}{% + \ifthenelse{\value{listcount}=\value{liststop}\AND% + \ifmoreitems}% + {\ifnum\value{liststop}>1 \finalandcomma\fi% + \andmoredelim\bibstring{andmore}\bibrightbracket}% + {}}% + +\newbibmacro*{mag+news+author}{% + \ifnameundef{author}% + {\ifboolexpr{% + test {\iffieldequals{journaltitle}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \savefield{journaltitle}{\bbx@lasthash}}}% + {\ifuseauthor% + {\ifthenelse{\(\ifentrytype{review}\OR\ifentrytype{suppperiodical}\)% + \AND\NOT\iffieldundef{nameaddon}}% + {\savefield{nameaddon}{\cms@tempn}\clearfield{nameaddon}% + \usebibmacro{author}\restorefield{nameaddon}{\cms@tempn}}% + {\usebibmacro{author}}}% + {}}}% + +\newbibmacro*{cmag+news+author}{% + \ifnameundef{author}% + {}% 16th ed. + {\ifuseauthor% + {\ifthenelse{\(\ifentrytype{review}\OR\ifentrytype{suppperiodical}\)% + \AND\NOT\iffieldundef{nameaddon}}% + {\savefield{nameaddon}{\cms@tempn}\clearfield{nameaddon}% + \usebibmacro{author}\restorefield{nameaddon}{\cms@tempn}}% + {\usebibmacro{author}}}% + {}}}% + +\newbibmacro*{type+inst+year}{% + \printfield{type}% + \newcunit + \printlist{institution}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}}% Instead of cmsyear + +\newbibmacro*{institution+organization}{% + \iflistundef{organization}% + {\iflistundef{institution}% + {}% + {\printlist{institution}}}% + {\printlist{organization}% + \newcunit% + \printlist{institution}}} + +\newbibmacro*{bibauthor+org}{% + \ifnameundef{author}% + {\ifnameundef{editor}% + {\iflistundef{organization}% + {}% + {\ifboolexpr{% + test {\iflistequals{organization}{\bbx@lasthash}}% + and + not test {\iffirstonpage}% + and + togl {cms@namedash}% + }% + {\printtext{\bibnamedash}}% + {\printlist{organization}% + \savelist{organization}{\bbx@lasthash}}}}% + {\usebibmacro{editor}}}% + {\usebibmacro{author/editor}}} + +\newbibmacro*{author+org}{% + \ifnameundef{author}% + {\ifnameundef{editor}% + {\iflistundef{organization}% + {}% + {\printlist{organization}}}% + {\usebibmacro{editor}}}% + {\usebibmacro{author/editor}}} + +\newbibmacro*{cbytypestrg}[2]{% + \iffieldundef{#1type}% + {\bibstring{cby#2}}% + {\bibstring{cby\thefield{#1type}}}}% + +\newbibmacro*{cbyeditor}{% + \ifnameundef{editor}% + {}% + {\usebibmacro{cbytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \newcunit}% + \usebibmacro{cbyeditorx}} + +\newbibmacro*{cbyeditorx}{% + \ifnameundef{editora}% + {}% + {\usebibmacro{cbytypestrg}{editora}{editor}% + \setunit{\addspace}% + \printnames[byeditora]{editora}% + \newcunit}% + \ifnameundef{editorb}% + {}% + {\usebibmacro{cbytypestrg}{editorb}{editor}% + \setunit{\addspace}% + \printnames[byeditorb]{editorb}% + \newcunit}% + \ifnameundef{editorc}% + {}% + {\usebibmacro{cbytypestrg}{editorc}{editor}% + \setunit{\addspace}% + \printnames[byeditorc]{editorc}% + \newcunit}} + +\newbibmacro*{cbytranslator}{% + \ifnameundef{translator}% + {}% + {\bibstring{cbytranslator}% + \addspace% + \printnames[bytranslator]{translator}}} + +\newbibmacro*{cbycompiler}{% + \ifnameundef{namec}% + {}% + {\bibstring{cbycompiler}\addspace% + \printnames[bycompiler]{namec}}} + +\newbibmacro*{cbyredactor}{% + \ifnameundef{redactor}% + {}% + {\bibstring{cbyredactor}\addspace% + \printnames[byredactor]{redactor}}} + +\newbibmacro*{cwithcommentator}{% + \ifnameundef{commentator}% + {}% + {\bibsstring{withcommentator}\addspace% + \printnames[withcommentator]{commentator}}} + +\newbibmacro*{cwithannotator}{% + \ifnameundef{annotator}% + {}% + {\bibsstring{withannotator}\addspace% + \printnames[withannotator]{annotator}}} + +\newbibmacro*{cwithintroduction}{% + \ifnameundef{introduction}% + {}% + {\bibstring{withintroduction}\addspace% + \printnames[withintroduction]{introduction}}} + +\newbibmacro*{cwithforeword}{% + \ifnameundef{foreword}% + {}% + {\bibstring{withforeword}\addspace% + \printnames[withforeword]{foreword}}} + +\newbibmacro*{cwithafterword}{% + \ifnameundef{afterword}% + {}% + {\bibstring{withafterword}\addspace% + \printnames[withafterword]{afterword}}} + +\newbibmacro*{cbyeditor+others}{% + \ifthenelse{\NOT\ifnameundef{editor}\AND% + \(\iffieldundef{editortype}\OR% + \iffieldequalstr{editortype}{editor}\)}% + {\def\@tempa{cbyeditor}% + \ifnamesequal{editor}{translator}% + {\edef\@tempa{\@tempa tr}% + \clearname{translator}}% + {}% + \ifnamesequal{editor}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{editor}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{editor}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{editor}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{editor}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{editor}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\addspace% + \printnames[byeditor]{editor}% + \clearname{editor}% + \newcunit% + \usebibmacro{cbyeditorx}}% + {\usebibmacro{cbyeditor}}% + \usebibmacro{cbytranslator+others}} + +\newbibmacro*{cbytranslator+others}{% + \ifnameundef{translator}% + {}% + {\def\@tempa{cbytranslator}% + \ifnamesequal{translator}{namec}% + {\edef\@tempa{\@tempa cp}% + \clearname{namec}}% + {}% + \ifnamesequal{translator}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{translator}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{translator}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{translator}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{translator}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\addspace% + \printnames[bytranslator]{translator}% + \clearname{translator}% + \newcunit}% + \usebibmacro{cbycompiler+others}} + +\newbibmacro*{cbycompiler+others}{% + \ifnameundef{namec}% + {}% + {\def\@tempa{cbycompiler}% + \ifnamesequal{namec}{commentator}% + {\edef\@tempa{\@tempa co}% + \clearname{commentator}}% + {\ifnamesequal{namec}{annotator}% + {\edef\@tempa{\@tempa an}% + \clearname{annotator}}% + {}}% + \ifnamesequal{namec}{introduction}% + {\edef\@tempa{\@tempa in}% + \clearname{introduction}}% + {\ifnamesequal{namec}{foreword}% + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}}% + {\ifnamesequal{namec}{afterword}% + {\edef\@tempa{\@tempa af}% + \clearname{afterword}}% + {}}}% + \bibstring{\@tempa}\addspace% + \printnames[bycompiler]{namec}% + \clearname{namec}% + \newcunit}% + \usebibmacro{cbyothers}} + +\newbibmacro*{cbyothers}{% + \usebibmacro{cbytranslator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cbycompiler}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cbyredactor}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithcommentator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithannotator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithintroduction}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithforeword}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithafterword}} + +\newbibmacro*{part+editor+translator}{% + \ifnameundef{namea}% + {\ifnameundef{nameb}% + {}% + {\bibstring{bytranslator}\addspace% + \printnames[bytranslator]{nameb}}}% + {\ifthenelse{\iffieldundef{nameatype}\OR% + \iffieldequalstr{nameatype}{editor}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{byeditortr}\addspace% + \printnames[byeditor]{namea}}% + {\bibstring{byeditor}\addspace% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newunit% + \bibstring{bytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}% + {\usebibmacro{bytypestrg}{namea}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newunit% + \bibstring{bytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}} + +\newbibmacro*{cpart+editor+translator}{% + \ifnameundef{namea}% + {\ifnameundef{nameb}% + {}% + {\bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}}}% + {\ifthenelse{\iffieldundef{nameatype}\OR% + \iffieldequalstr{nameatype}{editor}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{cbyeditortr}\addspace% + \printnames[byeditor]{namea}}% + {\bibstring{cbyeditor}\addspace% Need this \space here? + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newcunit% + \bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}% + {\usebibmacro{cbytypestrg}{namea}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {}% + {\newcunit% + \bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}}}}} + +\newbibmacro*{cms-in:}{% Fix for 0.9a compat. + \iftoggle{cms@origpublished}% + {}% Removed the cms@crspace test -- fixed a bug I had introduced + {\bibstring{in}% + \setunit{\addspace}}} + +\newbibmacro*{bibxref-in:}{% + \iffieldundef{volume}% + {\ifcsdef{cbx@incollvol}% + {\restorefield{volume}{\cbx@incollvol}\toggletrue{cms@xrefvol}% + \ifcsdef{cbx@incollpart}% + {\restorefield{part}{\cbx@incollpart}}% + {}% + \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% + \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% + {\printfield{volume}% + \clearfield{volume}% + \global\let\cbx@incollvol\undefined% Volume fix + \printfield{part}% + \clearfield{part}% + \global\let\cbx@incollpart\undefined% Volume fix + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}}% + {\bibstring{in}\setunit{\addspace}}}% + {\iffieldundef{part}% + {\ifcsdef{cbx@incollpart}% + {\restorefield{part}{\cbx@incollpart}\toggletrue{cms@xrefpart}}% + {}}% + {}% + \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% + \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% + {\printfield[xrefpart]{part}% + \clearfield{part}% + \global\let\cbx@incollpart\undefined% Volume fix + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}}% + {\bibstring{in}\setunit{\addspace}}}}% + {\iffieldundef{part}% + {\ifcsdef{cbx@incollpart}% + {\restorefield{part}{\cbx@incollpart}\toggletrue{cms@xrefpart}}% + {}}% + {}% + \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% + \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% + {\printfield{volume}% + \clearfield{volume}% + \global\let\cbx@incollvol\undefined% Volume fix + \printfield{part}% + \clearfield{part}% + \global\let\cbx@incollpart\undefined% Volume fix + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}}% + {\bibstring{in}\setunit{\addspace}}}}% + +\newbibmacro*{chapincoll}{% + \iffieldundef{chapter}% + {}% + {\printfield{chapter}\addspace% + \clearfield{chapter}}}% + +\newbibmacro*{xrefchapincoll}{% + \iffieldundef{chapter}% + {\printtext{\relax}}% + {\printfield{chapter}\addspace% + \clearfield{chapter}}}% + +\newbibmacro*{chapinscore}{% + \iffieldundef{chapter}% + {\ifboolexpr{% + test {\ifentrytype{music}}% 16th ed. + and + not test {\iffieldundef{booktitle}}% + and + not togl {cms@origpublished}% + }% + {\bibstring{on}\setunit{\addspace}}% + {}}% + {\printfield{chapter}\clearfield{chapter}% + \iffieldundef{booktitle}% + {}% + {\addspace\bibstring{of}\setunit{\addspace}}}}% + +\newbibmacro*{caddendum}{% New macros for 16th ed. field exclusion + \ifboolexpr{% + togl {cms@addendum}% + and + not test {\iffieldundef{addendum}}% + }% + {\newcunit\printfield{addendum}}% + {}}% + +\newbibmacro*{cnotefield}{% + \iftoggle{cms@notefield}% + {\printfield{note}}% + {}}% + +\newbibmacro*{cser+num}{% + \iftoggle{cms@bookseries}% + {\printfield{series}% + \printfield[sernum]{number}}% + {}}% + +\newbibmacro*{ser+num}{% + \printfield{series}% + \printfield[sernum]{number}} + +\newbibmacro*{music+origdate}{% + \iftoggle{cms@reprint}% 16th ed. + {}% + {\iffieldundef{origyear}% + {}% + {\usebibmacro{cmsorigdate}}}}% Date fix + +\newbibmacro*{music+eventdate}{% + \iffieldundef{eventyear}% + {}% + {\printeventdate}}% Date fix + +\newbibmacro*{ctitle+stitle}{% New test here for related entries. + \iffieldundef{title}% + {}% + {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}}% +% \setunit{\addspace}}% +% \usebibmacro{language+transtitle}% +% \setunit*{\addcomma}\newblock} + +\newbibmacro*{citaltitle+stitle}{% New test, as above. + \iffieldundef{title}% + {}% + {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \setunit{\ctitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newcunit\newblock} + +\newbibmacro*{title+stitle}{% + \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}}% +% \setunit{\addspace}}% +% \usebibmacro{language+transtitle}% +% \newunit\newblock} + +\newbibmacro*{italtitle+stitle}{% + \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock} + +\newbibmacro*{mag+news+title}{% + \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\ptitleaddonpunct}% + \ifboolexpr{% + test {\iffieldequalstr{relatedtype}{reviewof}}% + and + togl {cms@related}% + }% + {\usebibmacro{related:init}% + \usebibmacro{related}}% + {\printfield{titleaddon}}% + }%\newcunit\newblock} + +\newbibmacro*{cmag+news+title}{% + \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work) + \printfield[noformat]{title}% + \setunit{\subtitlepunct}%{\addcolon\addspace}% + \printfield[noformat]{subtitle}}% + \setunit{\ctitleaddonpunct}% + \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}}% + {\printfield{usere}}} + +\newbibmacro*{issuetitle}{% + \iffieldundef{issuetitle}% + {}% + {\ifthenelse{\ifentrytype{article}\OR% + \ifentrytype{review}\OR% + \ifentrytype{suppperiodical}}% This test is for + {\usebibmacro{cms-in:}}% periodical entries + {}% + \printtext[issuetitle]{% + \printfield[itnoformat]{issuetitle}% + \setunit{\subtitlepunct}% + \printfield[sitnoformat]{issuesubtitle}}}} + +\newbibmacro*{btitle+bstitle}{% + \iffieldundef{booktitle}% + {}% + {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}}% + {}% + {\usebibmacro{cms-in:}}% + \printtext[booktitle]{% + \printfield[btnoformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[sbtnoformat]{booksubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}% + \setunit*{\addcomma\addspace}}} + +\newbibmacro*{publ+loc+year}{% Revised for reprint + \ifboolexpr{% + togl {cms@reprint}% + and + not test {\ifentrytype{video}}% + }% + {\bibstring{reprint}% + \newcunit}% + {}% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}% +} + +\newbibmacro*{origpubl+loc+year}{% 16th ed. + \printlist{origlocation}% + \iflistundef{origpublisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{origpublisher}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cmsorigdate}% +} + +\newbibmacro*{howpubl+loc+year}{% Revised for reprint + \usebibmacro{cmsorigdate}% + \reprintpunct% + \iftoggle{cms@reprint}% + {\reprint\newcunit}% + {}% + \printlist{location}% + \iffieldundef{howpublished}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printfield{howpublished}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}% +} + +\newbibmacro*{inst+loc+year}{% Revised for reprint + \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. + \reprintpunct% + \iftoggle{cms@reprint}% + {\reprint\newcunit}% + {}% + \printlist{location}% + \iflistundef{institution}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{institution}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}% +}% + +\newbibmacro*{cpubl+loc+year}{% Revised for reprint + \ifboolexpr{% + test {\iflistundef{location}}% + and + test {\iflistundef{publisher}}% + and + test {\iffieldundef{year}}% + and + not togl {cms@reprint}% + }% + {}% + {\setunit{\addspace}% + \printtext[parens]{% + \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printfield{origyear}% + \setunit*{\addsemicolon\addspace}% + \ifboolexpr{% + togl {cms@reprint}% + and + not test{\ifentrytype{video}}% + }% + {\bibsstring{reprint}% + \newcunit}% + {}% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{publisher}% + \setunit{\addcomma\addspace}% + \usebibmacro{date}}}}% + +\newbibmacro*{cpubletter+loc+year}{% + \ifboolexpr{% + test {\iflistundef{location}}% + and + test {\iflistundef{publisher}}% + and + test {\iffieldundef{year}}% + }% + {}% + {\setunit{\addspace}% + \printtext[parens]{% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{publisher}% + \setunit{\addcomma\addspace}% + \usebibmacro{date}}}}% Changed for 0.9 + +\newbibmacro*{originally+published+as}{% Punctuation fix now in + \iffieldundef{userf}% \origfullcite for 0.8e. + {\iffieldundef{reprinttitle}% + {}% + {\usebibmacro{begrelated}% + \bibstring{reprintfrom}% ? + \origpublcite{\thefield{reprinttitle}}% + \usebibmacro{endrelated}% + \newunit}}% + {\usebibmacro{begrelated}% + \iflistundef{origlanguage}% + {\bibstring{origpub}% + \origfullcite{\thefield{userf}}% + \usebibmacro{endrelated}% + \newunit}% + {\iftoggle{cms@postposit}% + {\bibstring{origedition}% + \setunit{\addspace}% + \printlist[edlang]{origlanguage}% + \addcolon% + \origfullcite{\thefield{userf}}% + \usebibmacro{endrelated}% + \newunit}% + {\printlist[edlang]{origlanguage}% + \setunit{\addspace}% + \bibstring{origedition}% + \origfullcite{\thefield{userf}}% + \usebibmacro{endrelated}% + \newunit}}}} + +\newbibmacro*{org+publ+loc+year}{% What was wrong with \ifthenelse here? + \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed. + \reprintpunct% + \iftoggle{cms@reprint}% Revised for reprint + {\reprint\newcunit}% + {}% + \printlist{location}% + \iflistundef{organization}% + {\iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}}% + {\setunit*{\addcolon\addspace}}% + \printlist{organization}% + \setunit*{\addcomma\addspace}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}} + +\newbibmacro*{year+in+parens}{% + \iffieldundef{volume}% + {noformat}% + {parens}} + +\newbibmacro*{cjournal+issue+year+pages}{% + \usebibmacro{cjournal+ser+vol+num}% + \ifboolexpr{% 16th ed. + test {\iffieldundef{issue}}% + and + test {\iffieldundef{year}}% + and + not togl {cms@switchdates}% + }% + {\iffieldundef{number}% + {\ifthenelse{\iffieldundef{pagination}\AND% + \iffieldundef{bookpagination}}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}}% + {\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. + {\newcunit% + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}% + \addcomma\addspace}% + {\setunit{\addspace}% + \printtext[parens]{% parens is the default here + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}}}} + +\newbibmacro*{cperiodical+issue+year+pages}{% For periodicals, + \usebibmacro{cperiodical+ser+vol+num}% subtype article + \ifboolexpr{% 16th ed. + test {\iffieldundef{issue}}% + and + test {\iffieldundef{year}}% + and + not togl {cms@switchdates}% + }% + {\iffieldundef{number}% + {\ifthenelse{\iffieldundef{pagination}\AND% + \iffieldundef{bookpagination}}% + {\setunit{\postvolpunct}}% + {\setunit{\addcolon\addspace}}}% + {\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. + {\newcunit% + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}% + \addcomma\addspace}% + {\setunit{\addspace}% + \printtext[parens]{% parens is the default here + \iffieldundef{issue}% + {\usebibmacro{number+or+month}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}}}}} + +\newbibmacro*{letter+date}{% New for 0.9 + \iflistundef{origlocation}% + {}% + {\printlist{origlocation}% + \newcunit\newblock}% + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% + {}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% + {}% + {\cms@datelong{orig}}}} + +\newbibmacro*{unpubl+letter+date}{% For Misc entries + \iflistundef{origlocation}% + {}% + {\printlist{origlocation}% + \newcunit\newblock}% + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% + \iffieldundef{season}}% + {}% + {\cms@datelong{}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% + \iffieldundef{origseason}}% + {\printdate}% For interviews and other dated non-letters. + {\cms@datelong{orig}}}} + +\newbibmacro*{pubstate}{% + \iftoggle{cms@reprint}% + {\iftoggle{cms@switchdates}% + {\iffieldundef{year}% + {}% + {\printtext{% 16th ed. + \usebibmacro{choosepubstring}% + \printdate}}}% + {\iffieldundef{origyear}% + {}% + {\printtext{% 16th ed. + \usebibmacro{choosepubstring}% + \printorigdate}}}}% + {}}% + +\newbibmacro*{choosepubstring}{% + \ifthenelse{\ifentrytype{video}\OR% + \ifentrytype{music}}% + {\bibstring{origreleaseyear}}% + {\bibstring{origpubyearalt}}}% + +\renewbibmacro*{date}{% New for 0.9 + \iftoggle{cms@switchdates}% + {\printorigdate}% + {\printdate}} + +\newbibmacro{cite:xref+date}{% + \ifboolexpr{% + togl {cms@omitxrefdate}% + or + togl {cms@bookcitexref}% + or + test {\iffieldundef{crossref}}% + or + test {\iffieldundef{maintitle}}% + or + (( + test {\iffieldundef{year}}% + or + togl {cms@switchdates}% + ) + and + (test {\iffieldundef{origyear}}% + or + not togl {cms@switchdates}% + )) + or + not test {\ifentryseen{\thefield{crossref}}}% + }% + {\ifboolexpr{% + togl {cms@omitxrefdate}% + or + togl {cms@bookcitexref}% + or + test {\iffieldundef{xref}}% + or + test {\iffieldundef{maintitle}}% + or + (( + test {\iffieldundef{year}}% + or + togl {cms@switchdates}% + ) + and + (test {\iffieldundef{origyear}}% + or + not togl {cms@switchdates}% + )) + or + not test {\ifentryseen{\thefield{xref}}}% + }% + {}% + {\printtext[parens]{\usebibmacro{date}}}}% + {\printtext[parens]{\usebibmacro{date}}}} + +\newbibmacro*{cmsorigdate}{% New for 0.9 + \iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}} + +\newbibmacro*{cmsyear}{% + \iftoggle{cms@switchdates}% + {\printorigdateextra}% \printfield{origyear} + {\printdateextra}}% \printfield{year} + +\newbibmacro*{number+or+month}{% + \iffieldundef{number}% + {\usebibmacro{date}}% + {\iftoggle{cms@numbermonth}% + {\usebibmacro{date}}% + {\usebibmacro{cmsyear}}}} + +\newcommand*{\cms@datelong}[1]{% Modified for 17th ed. + \begingroup + \protected\def\mkbibdatelong##1##2##3{% + \iffieldundef{##3}% + {}% + {\iftoggle{cms@ukord}% + {\mkbibordinal{\thefield{##3}}}% + {\stripzeros{\thefield{##3}}}% + \iffieldundef{##2}{}{\nobreakspace}}% + \iffieldundef{##2}% + {}% + {\mkbibmonth{\thefield{##2}}% + \iffieldundef{##1}{}{\space}}% + \iffieldbibstring{##1}% + {\bibstring{\thefield{##1}}}% + {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}% + \cms@mkbibrangetrunc{long}{#1}% + \endgroup}% + +\newrobustcmd*{\letterdatelong}{% For users: 17th ed. + \ifboolexpr{% + test {\ifdefstring{\blx@languagename}{american}}% + or + test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel + }% + {\iftoggle{cms@switchdates}% + {\cms@datelong{}}% + {\cms@datelong{orig}}}% + {\iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}}}% + +\newbibmacro*{cjournal+ser+vol+num}{% + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \setunit*{\addspace}% + \iffieldundef{series}% + {}% + {\newcunit% + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}% need * here? + \printfield[journum]{number}% + \setunit{\addcomma\addspace}% + \printfield{eid}% + \newunit}% + +\newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries, + \ifboolexpr{% article subtype + not test {\iffieldundef{shorttitle}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \setunit*{\addspace}% + \iffieldundef{series}% + {}% + {\newcunit% + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}% need * here? + \printfield[journum]{number}% + \setunit{\addcomma\addspace}% + \printfield{eid}% + \newunit} + +\newbibmacro*{journal+sub}{% + \iffieldundef{journaltitle}% + {}% + {\ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\clearlist{location}\printtext[shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + {\printtext[journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}}}}% + +\newbibmacro*{cite+doi+url}{% 16th ed. + \iftoggle{cms@url@innotes}% + {\ifboolexpr{% Fix printing of urldate when url=false + togl {cms@url}% + and + not test {\iffieldundef{urlyear}}% + }% + {\printurldate}% Date fix + {}% + \newcunit\newblock + \iftoggle{cms@doionly}% + {\iffieldundef{doi}% + {}% + {\printfield{doi}% + \clearfield{url}}}% + {\ifboolexpr{% + togl {cms@doi}% + and + not test {\iffieldundef{doi}}% + }% + {\printfield{doi}}% + {}}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@eprint}% + and + not test {\iffieldundef{eprint}}% + }% + {\usebibmacro{eprint}}% + {}% + \newcunit\newblock + \ifboolexpr{% + togl {cms@url}% + and + not test {\iffieldundef{url}}% + }% + {\printfield{url}}% + {}}% + {}}% + +\newbibmacro*{chap+pag}{% + \printfield{chapter}% + \setunit*{\addcomma\addspace}% + \printfield{pages}} + +\newbibmacro*{mag+news+date}{% 16th ed. + \iftoggle{cms@fullnote}% + {\usebibmacro{mag+date+issue}}% + {\ifnameundef{author}% + {\usebibmacro{date+issue}}% + {\usebibmacro{mag+date+issue}}}} + +\newbibmacro*{date+issue}{% + \iffieldundef{issue}% + {\iffieldundef{number}% + {\usebibmacro{date}}% + {\iftoggle{cms@numbermonth}% For exclusion of month + {\usebibmacro{date}}% + {\usebibmacro{cmsyear}}% + \setunit{\addcomma\addspace}% + \printfield[journum]{number}}}% + {\printfield{issue}% + \setunit{\addspace}% + \usebibmacro{cmsyear}}} + +\newbibmacro*{mag+date+issue}{% + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + +\newbibmacro*{periodical+date+issue}{% For periodical type & + \ifboolexpr{% magazine subtype + not test {\iffieldundef{shorttitle}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\clearlist{location}\printtext[shorttitle]{% + \printfield[tnoformat]{shorttitle}}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + +\newbibmacro*{cmtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\iffieldundef{title}% + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}% + {\toggletrue{cms@usedvol}% + \printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}} + +\newbibmacro*{cmtitle+mstitle+vol+part+btitle+bstitle}{% + \usebibmacro{btitle+bstitle}% + \iffieldundef{maintitle}% + {}% + {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR% + \(\iffieldundef{booktitle}\AND\NOT\ifentrytype{bookinbook}\)}% + {\iffieldundef{booktitle}% Fix for origpublin ??? + {\usebibmacro{cms-in:}}% + {\bibstring{in}\setunit{\addspace}}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}% + \toggletrue{cms@vol}}% InIn fix + {\toggletrue{cms@usedvol}% + \printfield{volume}% + \printfield{part}% + \setunit{\addspace}% + \bibstring{ofseries}% + \setunit{\addspace}% + \printtext[maintitle]{% + \printfield[mtnoformat]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[smtnoformat]{mainsubtitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{maintitleaddon}}}} + +\newbibmacro*{backref+check}{% + \ifbibliography% + {\backtrackerfalse}% + {}}% + +\newbibmacro*{cite:postnote}{% + \iftoggle{cms@loccit}% + {}% + {\usebibmacro{postnote}}} + +\newbibmacro*{semel:postnote}{% Fix to print postnote only once + \printfield{postnote}% Old form broke \ifloccit + \global\let\cms@pnsaved\abx@field@postnote% + \global\let\abx@field@postnote\undefined% + \AtNextCitekey{\ifciteibid{}{\global\let\cms@pnsaved\undefined}}}% + +\renewbibmacro*{postnote}{% + \iftoggle{cms@fullnote}% + {\global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}% + {\iftoggle{cms@printshhand}% + {\iffieldundef{postnote}% + {\iffieldundef{shorthand}% + {\global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}% + {\setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}}% + {\iffieldundef{shorthand}% + {\postnotewrapper%delim% + \usebibmacro{semel:postnote}% + \global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}% + {\postnotewrapper%delim% + \usebibmacro{semel:postnote}% + \setunit{\shorthandpunct}% + \usebibmacro{cms:shorthandintro}% + \global\togglefalse{cms@printshhand}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}}}% + {\iffieldundef{postnote}% + {\global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}% + {\postnotewrapper%delim% + \usebibmacro{semel:postnote}% + \global\togglefalse{cms@shortnote}% + \global\togglefalse{cms@fullnote}}}}}% + +\newbibmacro*{fullpostnote}{% + \iffieldundef{postnote}% + {\iffieldundef{chapter}% + {\iffieldundef{pages}% + {}% + {\postnotedelim% + \printfield{pages}}}% + {\postnotedelim% + \printfield{chapter}}}% + {\postnotewrapper%delim% Don't need \ifbibliography test w/ following + \usebibmacro{semel:postnote}}} + +\newbibmacro*{juridpostnote}{% + \iftoggle{cms@fullnote}% + {\iffieldundef{issue}% + {\iffieldundef{shortjournal}% + {\setunit{\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}% + {\setunit{\addspace}}% + {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}% + \printfield{pages}% + \iffieldundef{postnote}% + {}% + {\ifthenelse{\ifentrytype{legislation}\OR\ifentrytype{legal}}% + {\newcunit}% + {\setunit*{\addcomma\addspace}}% + \usebibmacro{semel:postnote}}}% + {\iffieldundef{postnote}% + {\iffieldundef{pages}% + {}% + {\newcunit% + \printfield{pages}}}% + {\newcunit% + \usebibmacro{semel:postnote}}}}% + {\iffieldundef{issue}% + {\iffieldundef{postnote}% + {\iffieldundef{pages}% + {}% + {\iffieldundef{shortjournal}% + {\setunit{\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}% + {\setunit{\addspace}}% + {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}% + \printfield{pages}}}% + {\iffieldundef{shortjournal}% + {\setunit{\addcomma\addspace}}% + {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}% + {\setunit{\addspace}}% + {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}% + \usebibmacro{semel:postnote}}}% See below for alternate test here + {\iffieldundef{postnote}% + {\iffieldundef{pages}% + {}% + {\newcunit% + \printfield{pages}}}% + {\newcunit% + \usebibmacro{semel:postnote}}}% + \global\togglefalse{cms@fullnote}% + \global\togglefalse{cms@shortnote}}}% + +\newbibmacro*{volfullpostnote}{% + \iftoggle{cms@postvol}% + {\ifboolexpr{( + test {\iffieldundef{volume}}% + and + test {\iffieldundef{part}}% + ) + or + togl {cms@usedvol}% + }% + {\usebibmacro{fullpostnote}}% + {\iffieldundef{postnote}% + {\iffieldundef{chapter}% + {\iffieldundef{pages}% + {\newcunit\printfield{volume}% + \printfield{part}}% + {\iffieldundef{part}% + {\ifthenelse{\iffieldnums{pages}\AND% + \iffieldundef{bookpagination}\AND\iffieldnums{volume}}% + {\newcunit\printfield[default]{volume}% + \postvolpunct% + \printfield{pages}}% + {\newcunit\printfield{volume}% + \addcomma\addspace% + \printfield{pages}}}% + {\newcunit\printfield{volume}% + \printfield{part}% + \addcomma\addspace% + \printfield{pages}}}}% + {\newcunit\printfield{volume}% + \printfield{part}% + \newcunit + \printfield{chapter}}}% + {\iffieldundef{part}% + {\ifthenelse{\iffieldnums{postnote}\AND% + \iffieldundef{pagination}\AND\iffieldnums{volume}}% + {\newcunit\printfield[default]{volume}% + \postvolpunct% + \usebibmacro{semel:postnote}}% + {\newcunit\printfield{volume}% + \addcomma\addspace% + \usebibmacro{semel:postnote}}}% + {\newcunit\printfield{volume}% + \printfield{part}% + \addcomma\addspace% + \usebibmacro{semel:postnote}}}}}% + {\usebibmacro{fullpostnote}}% + \global\togglefalse{cms@usedvol}}% + +\newbibmacro*{volume+or+volumes}{% Volume fix (modified) + \ifboolexpr{ ( + test {\iffieldundef{maintitle}}% + or + togl {cms@vol}% + ) + and + not togl {cms@postvol}% + and + not togl {cms@usedvol}% + }% + {\global\togglefalse{cms@vol}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {\printfield{volumes}}% + {\printfield{volume}% + \printfield{part}}}% + {\ifboolexpr{% + togl {cms@hidevolumes}% + and + ( + not test {\iffieldundef{volume}}% + or + not test {\iffieldundef{part}}% + or + togl {cms@usedvol}% + ) + }% + {\global\togglefalse{cms@vol}}% + {\global\togglefalse{cms@vol}% + \printfield{volumes}}}} + +\newbibmacro*{crossref:volume+postnote}{% + \ifcsdef{cbx@incollpgn}% + {\restorefield{pagination}{\cbx@incollpgn}}% + {}% + \ifcsdef{cbx@incollbkpgn}% + {\restorefield{bookpagination}{\cbx@incollbkpgn}}% + {}% + \iffieldundef{volume}% Volume fix (unfinished) + {\ifcsdef{cbx@incollvol}% + {\restorefield{volume}{\cbx@incollvol}% + \ifcsdef{cbx@incollpart}{\restorefield{part}{\cbx@incollpart}}{}% + \iffieldundef{postnote}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{pages+cref+print}}% + {\iffieldundef{pages}% + {\newcunit\printfield{volume}\printfield{part}}% + {\usebibmacro{pages+cref+print}}}}% + {\usebibmacro{postnote+cref+print}}}% + {\iffieldundef{part}% + {\ifcsdef{cbx@incollpart}% + {\restorefield{part}{\cbx@incollpart}% + \iffieldundef{postnote}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{pages+cref+print}}% + {\iffieldundef{pages}% + {\newcunit\printfield{volume}\printfield{part}}% + {\usebibmacro{pages+cref+print}}}}% + {\usebibmacro{postnote+cref+print}}}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{fullpostnote}}% + {\usebibmacro{fullpostnote}}}}% + {\iffieldundef{postnote}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{pages+cref+print}}% + {\iffieldundef{pages}% + {\newcunit\printfield{volume}\printfield{part}}% + {\usebibmacro{pages+cref+print}}}}% + {\usebibmacro{postnote+cref+print}}}}}% + {\iffieldundef{part}% + {\ifcsdef{cbx@incollpart}% + {\restorefield{part}{\cbx@incollpart}}% + {}}% + {}% + \iffieldundef{maintitle}% More elaborate test ??? + {\iffieldundef{postnote}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{pages+cref+print}}% + {\iffieldundef{pages}% + {\newcunit\printfield{volume}\printfield{part}}% + {\usebibmacro{pages+cref+print}}}}% + {\usebibmacro{postnote+cref+print}}}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollvol}}% + and + ( + not test {\iffieldequalcs{volume}{cbx@incollvol}}% + or + togl {cms@xrefvol}% Necessary ??? + ) + }% + {\restorefield{volume}{\cbx@incollvol}% + \iffieldundef{part}% + {\ifcsdef{cbx@incollpart}{\restorefield{part}{\cbx@incollpart}}{}}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollpart}}% + and + ( + not test {\iffieldequalcs{part}{cbx@incollpart}}% + or + togl {cms@xrefpart}% + ) + }% + {\clearfield{part}\restorefield{part}{\cbx@incollpart}}% + {\clearfield{part}}}% + \iffieldundef{postnote}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{pages+cref+print}}% + {\iffieldundef{pages}% + {\newcunit\printfield{volume}\printfield{part}}% + {\usebibmacro{pages+cref+print}}}}% + {\usebibmacro{postnote+cref+print}}}% + {\ifboolexpr{% + test {\ifcsdef{cbx@incollpart}}% + and + ( + not test {\iffieldequalcs{part}{cbx@incollpart}}% + or + togl {cms@xrefpart}% + ) + }% + {\iffieldundef{postnote}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \printfield{part}\newcunit\printfield{pages}}% + {\iffieldundef{pages}% + {\printfield{part}}% + {\printfield{part}\newcunit\printfield{pages}}}}% + {\printfield{part}\newcunit\usebibmacro{semel:postnote}}}% + {\ifcsdef{cbx@incollpages}% + {\restorefield{pages}{\cbx@incollpages}% + \usebibmacro{fullpostnote}}% + {\usebibmacro{fullpostnote}}}}}}}% + +\newbibmacro*{pages+cref+print}{% Reusable chunk for above + \iffieldundef{part}% + {\ifthenelse{\iffieldnums{pages}\AND% + \iffieldundef{bookpagination}\AND\iffieldnums{volume}}% + {\newcunit\printfield[default]{volume}% + \postvolpunct% + \printfield{pages}}% + {\newcunit\printfield{volume}% + \addcomma\addspace% + \printfield{pages}}}% + {\newcunit\printfield{volume}% + \printfield{part}% + \addcomma\addspace% + \printfield{pages}}} + +\newbibmacro*{postnote+cref+print}{% Reusable chunk for above + \iffieldundef{part}% + {\ifthenelse{\iffieldnums{postnote}\AND% + \iffieldundef{pagination}\AND\iffieldnums{volume}}% + {\newcunit\printfield[default]{volume}% + \postvolpunct% + \usebibmacro{semel:postnote}}% + {\newcunit\printfield{volume}% + \addcomma\addspace% + \usebibmacro{semel:postnote}}}% + {\newcunit\printfield{volume}% + \printfield{part}% + \addcomma\addspace% + \usebibmacro{semel:postnote}}} + +\newbibmacro*{inreffullpostnote}{% + \global\togglefalse{cms@usedvol}% + \iffieldundef{postnote}% + {\iffieldundef{chapter}% + {\iffieldundef{pages}% + {\newcunit%\addcomma\addspace% Change to axe spurious comma + \printlist[][-\value{listtotal}]{lista}}% + {\postnotedelim% + \printfield{pages}}}% + {\postnotedelim% + \printfield{chapter}}}% + {\postnotewrapper%delim% + \usebibmacro{semel:postnote}}} + +\newbibmacro*{xrefprenote}{% + \ifboolexpr{% Kludgy fix for spurious idem + test {\ifdefvoid{\blx@idemtracker}}% + or + test {\ifbibliography}% + }% + {}{\blx@idemtracker}% + \iffieldundef{volume}{}{\savefield{volume}{\cbx@incollvol}}% + \iffieldundef{pages}{}{\savefield{pages}{\cbx@incollpages}}% + \iffieldundef{part}{}{\savefield{part}{\cbx@incollpart}}% + \iffieldundef{pagination}{}{\savefield{pagination}{\cbx@incollpgn}}% + \iffieldundef{bookpagination}{}{\savefield{bookpagination}% + {\cbx@incollbkpgn}}% The next line saves the child's backrefs + \iflistundef{pageref}{}{\savelist{pageref}{\cbx@incollpgref}}}% + +\newbibmacro*{xrefpostnote}{% + \iftoggle{cms@xrefurl}% + {\ifbibliography% + {\usebibmacro{bib+doi+url}}% + {\usebibmacro{cite+doi+url}}}% + {}% + \ifcsdef{cbx@incollpgref}% Here we print and clear the child's + {\restorelist{pageref}{\cbx@incollpgref}% backrefs + \newunit% + \usebibmacro{pageref}% + \global\let\cbx@incollpgref\undefined}% + {}% + \togglefalse{cms@xrefvol}% + \togglefalse{cms@xrefpart}% + \global\togglefalse{cms@usedvol}% + \global\let\cbx@incollvol\undefined% Volume fix + \global\let\cbx@incollpages\undefined% + \global\let\cbx@incollpart\undefined% + \global\let\cbx@incollpgn\undefined% + \global\let\cbx@incollbkpgn\undefined}% + +\newbibmacro*{hlpunct}{% + \iftoggle{cms@headlessnote}% + {}% + {\newcunit\newblock}} + +\newbibmacro*{journalprenote}{% + \iffieldundef{prenote}% + {\bibsentence}% + {\usebibmacro{prenote}}} + +\newbibmacro*{choose+surname}{% + \ifboolexpr{% + test {\ifciteseen}% + and + not togl {cms@noneshort}% + }% + {}% + {\printnames{labelname}\savefield{fullhash}{\bbx@lasthash}% + \ifthenelse{\iffieldequalstr{labelnamesource}{shortauthor}\OR% + \iffieldequalstr{labelnamesource}{author}}% + {\clearname{author}}% + {\iffieldequalstr{labelnamesource}{shorteditor}% + {\ifnameundef{namea}% + {\newcunit\usebibmacro{editstrg}}% + {\newcunit\usebibmacro{parteditstrg}}}%% + {\iffieldequalstr{labelnamesource}{editor}% + {\newcunit\usebibmacro{editstrg}}% + {\iffieldequalstr{labelnamesource}{translator}% + {\newcunit\usebibmacro{transstrg}}% + {\iffieldequalstr{labelnamesource}{namea}% + {\newcunit\usebibmacro{parteditstrg}}% + {\iffieldequalstr{labelnamesource}{nameb}% + {\newcunit\usebibmacro{parttransstrg}}% + {\iffieldequalstr{labelnamesource}{namec}% + {\newcunit\usebibmacro{compilestrg}}% + {}}}}}}}}}% + +\newbibmacro*{clear+labelname}{% + \iffieldequalstr{labelnamesource}{shortauthor}% + {\clearname{author}\clearname{shortauthor}}% + {\iffieldequalstr{labelnamesource}{shorteditor}% + {\ifnameundef{namea}% + {\clearname{editor}\clearname{shorteditor}}% + {\clearname{namea}\clearname{shorteditor}}}% + {\clearname{\thefield{labelnamesource}}}}} + +\@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4 +{\DeclareLabelname{\field{shortauthor} \field{author}% + \field{shorteditor} \field{namea} \field{editor}% + \field{nameb} \field{translator} \field{namec}}}% +{\DeclareLabelname{shortauthor,author,shorteditor,namea,% + editor,nameb,translator,namec}} + +\DeclareLabeltitle[legislation]{% + \field{shorttitle}% + \field{titleaddon}% + \field{title}}% + +\DeclareDataInheritance{collection}{suppcollection}{% + \inherit{title}{title} + \inherit{subtitle}{subtitle} + \inherit{titleaddon}{titleaddon}} + +\DeclareDataInheritance{mvbook}{incollection}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{book,collection}{letter}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{book}{incollection}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{mvbook,mvcollection}{letter}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{*}{*}{% + \noinherit{namea} + \noinherit{nameb} + \noinherit{nameatype} + \noinherit{sortyear} + \noinherit{sortname} + \noinherit{sorttitle} + \noinherit{urlyear} + \noinherit{urlmonth} + \noinherit{urlday} + \noinherit{urlseason} + \noinherit{urlhour} + \noinherit{urlminute} + \noinherit{doi} + \noinherit{eprint} + \noinherit{eprinttype} + \noinherit{url}} + +\DeclareDataInheritance{mvbook,mvcollection,mvproceedings,mvreference}% +{*}{% ??? + \noinherit{year} + \noinherit{month} + \noinherit{day} + \noinherit{season} + \noinherit{endyear} + \noinherit{endmonth} + \noinherit{endday} + \noinherit{endseason} + \noinherit{origyear} + \noinherit{origmonth} + \noinherit{origday} + \noinherit{origseason} + \noinherit{origendyear} + \noinherit{origendmonth} + \noinherit{origendday} + \noinherit{origendseason}} + +\DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7 + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{namea} + \field{editor} + \field{nameb} + \field{translator} + \field{namec} + \field{sorttitle} + \field{journaltitle} + \field{organization} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume} + \literal{0000} + } +} + +\DeclareSortExclusion{misc,online}{organization} +\DeclareSortExclusion{inreference,mvreference,reference}{% + author,editor,namea,nameb,namec,translator} + +\DeclareSortingTemplate{shortjournal}{% + \sort{ + \field{shortjournal} + } +} + +\newbibmacro*{compilestrg}{% + \ifthenelse{\value{namec}>1\OR\ifandothers{namec}}% + {\bibstring{compilers}}% + {\bibstring{compiler}}% + \clearname{namec}}% + +\newbibmacro*{transstrg}{% + \ifthenelse{\value{translator}>1\OR\ifandothers{translator}}% + {\ifnamesequal{translator}{namec}% + {\bibstring{transcompilers}% + \clearname{namec}}% + {\bibstring{translators}}}% + {\ifnamesequal{translator}{namec}% + {\bibstring{transcompiler}% + \clearname{namec}}% + {\bibstring{translator}}}% + \clearname{translator}}% + +\newbibmacro*{parttransstrg}{% + \ifthenelse{\value{nameb}>1\OR\ifandothers{nameb}}% + {\ifnamesequal{nameb}{namec}% + {\bibstring{transcompilers}% + \clearname{namec}}% + {\bibstring{translators}}}% + {\ifnamesequal{nameb}{namec}% + {\bibstring{transcompiler}% + \clearname{namec}}% + {\bibstring{translator}}}% + \clearname{nameb}}% + +\newbibmacro*{editstrg}{% Test added for 0.9 + \ifthenelse{\iffieldundef{editortype}\OR% + \iffieldequalstr{editortype}{editor}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% + {\ifthenelse{\ifnamesequal{editor}{translator}\AND% + \ifnamesequal{editor}{namec}}% + {\bibstring{editortranscompilers}% + \clearname{translator}% + \clearname{namec}}% + {\ifnamesequal{editor}{namec}% + {\bibstring{editorcompilers}% + \clearname{namec}}% + {\ifnamesequal{editor}{translator}% + {\bibstring{editortranslators}% + \clearname{translator}}% + {\bibstring{editors}}}}}% + {\ifthenelse{\ifnamesequal{editor}{translator}\AND% + \ifnamesequal{editor}{namec}}% + {\bibstring{editortranscompiler}% + \clearname{translator}% + \clearname{namec}}% + {\ifnamesequal{editor}{namec}% + {\bibstring{editorcompiler}% + \clearname{namec}}% + {\ifnamesequal{editor}{translator}% + {\bibstring{editortranslator}% + \clearname{translator}}% + {\bibstring{editor}}}}}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% + {\bibstring{\thefield{editortype}s}}% + {\bibstring{\thefield{editortype}}}}% + \clearname{editor}}% + +\newbibmacro*{parteditstrg}{% + \ifthenelse{\iffieldundef{nameatype}\OR% + \iffieldequalstr{nameatype}{editor}}% + {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% + {\ifthenelse{\ifnamesequal{namea}{nameb}\AND% + \ifnamesequal{namea}{namec}}% + {\bibstring{editortranscompilers}% + \clearname{nameb}% + \clearname{namec}}% + {\ifnamesequal{namea}{namec}% + {\bibstring{editorcompilers}% + \clearname{namec}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{editortranslators}% + \clearname{nameb}}% + {\bibstring{editors}}}}}% + {\ifthenelse{\ifnamesequal{namea}{nameb}\AND% + \ifnamesequal{namea}{namec}}% + {\bibstring{editortranscompiler}% + \clearname{nameb}% + \clearname{namec}}% + {\ifnamesequal{namea}{namec}% + {\bibstring{editorcompiler}% + \clearname{namec}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{editortranslator}% + \clearname{nameb}}% + {\bibstring{editor}}}}}}% + {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% + {\bibstring{\thefield{nameatype}s}}% + {\bibstring{\thefield{nameatype}}}}% + \clearname{namea}}% + +\newbibmacro*{clearorigin}{% + \toggletrue{cms@origcite}% + \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}% + {\ifnameundef{bookauthor}% + {\savefield{fullhash}{\bbx@lasthash}% + \clearname{author}}% + {\ifnamesequal{author}{bookauthor}% + {\clearname{bookauthor}% + \savefield{fullhash}{\bbx@lasthash}% + \clearname{author}}% + {\savefield{fullhash}{\bbx@lasthash}% + \clearname{author}}}}% + {\clearname{author}}}% + +\newbibmacro*{clearpublin}{% + \toggletrue{cms@origcite}% + \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}% + {\ifnameundef{bookauthor}% + {\savefield{fullhash}{\bbx@lasthash}% + \clearname{author}}% + {\ifnamesequal{author}{bookauthor}% + {\clearname{bookauthor}% + \savefield{fullhash}{\bbx@lasthash}% + \clearname{author}}% + {\savefield{fullhash}{\bbx@lasthash}% + \clearname{author}}}}% + {\clearname{author}}% + \ifthenelse{\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR% + \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}}% + {}% + {\clearname{namea}% + \clearname{nameb}}% + \clearfield{nameaddon}% + \ifthenelse{\(\ifentrytype{periodical}\OR\ifentrytype{mvbook}\OR% + \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}\OR% + \ifentrytype{mvreference}\OR\ifentrytype{collection}\OR% + \ifentrytype{proceedings}\OR\ifentrytype{reference}\OR% + \ifentrytype{suppbook}\OR\ifentrytype{suppcollection}\)\OR% + \(\(\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}\)\AND\iffieldundef{booktitle}\)}% + {}% + {\clearfield{title}% + \clearfield{subtitle}% + \clearfield{titleaddon}% + \clearfield{usere}% + \clearlist{language}% + \ifentrytype{music}% + {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}% + \clearfield{eventmonth}}% + {}}% + \ifentrytype{letter}% + {\iftoggle{cms@switchdates}% + {\clearfield{year}\clearfield{month}\clearfield{season}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% + \clearfield{origlocation}}% + {}% + \clearfield{reprinttitle}% +} + +%%%% Related macros from biblatex.def %%%% + +\renewcommand*{\begrelateddelim}{% + \ifcitation{\newcunitpunct}% + {\ifboolexpr{% + togl {cms@fullnote}% + or + togl {cms@shortnote}% + }% + {\newcunitpunct}% + {\newunitpunct}}}% + +\newcommand*{\begrelateddelimreviewof}{% + \ifcitation{\newcunitpunct}% + {\ifboolexpr{% + togl {cms@fullnote}% + or + togl {cms@shortnote}% + }% + {\newcunitpunct}% + {\newunitpunct}}} + +\newbibmacro*{related:reviewof}[1]{% + \iftoggle{cms@shortnote}% + {\entrydata{#1}{% + \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}% + \usebibmacro{cite:origfull}}}% + +\renewbibmacro*{related:reprintfrom}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \nopunct% ??? + \usebibmacro{cite:origpubl}}}% + +\renewbibmacro*{related:bytranslator}[1]{% + \entrydata{#1}{% + \usebibmacro{at+every+item}% + \renewbibmacro*{name:hook}[1]{% + \ifnumequal{\value{listcount}}{1}% + {\begingroup + \mkrelatedstring% + \lbx@initnamehook{#1}% + \endgroup} + {}}% + \printnames[bytranslator]{translator}% + \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\addspace}% + \clearname{translator}% + \usebibmacro{cite:origfull}}}% + +\renewbibmacro*{related:default}[1]{% + \entrydata*{#1}{% + \usedriver% + {\ifnameundef{savedauthor}% + {\ifnameundef{savededitor}% + {}% + {\ifnamesequal{editor}{savededitor}% + {\clearname{editor}}% + {}}}% + {\ifnamesequal{author}{savedauthor}% + {\clearname{author}}% + {}}% + \usebibmacro{at+every+item}% + \renewbibmacro*{related:init}{}% + \DeclareNameAlias{sortname}{default}% + \renewbibmacro*{pageref}{}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}}% + {cite:\thefield{entrytype}}}}% + +\renewbibmacro*{related:multivolume}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% + {}% + {\printtext{% + \printfield{volume}% + \printfield{part}}% + \setunit{\addcolon\addspace}}% + \usebibmacro{ctitle+stitle}% + \ifboolexpr{% + test {\ifnamesequal{author}{savedauthor}}% + or + test {\ifnameundef{author}}% + }% + {}% + {\usebibmacro{bytypestrg}{author}{author}% + \setunit{\addspace}% + \printnames[byauthor]{author}% + \newcunit\newblock}% + \ifboolexpr{% + test {\ifnamesequal{namea}{savednamea}}% + or + test {\ifnameundef{namea}}% + }% + {\ifboolexpr{% + test {\ifnamesequal{editor}{savededitor}}% + or + test {\ifnameundef{editor}}% + }% + {\ifboolexpr{% + test {\ifnamesequal{nameb}{savednameb}}% + or + test {\ifnameundef{nameb}}% + }% + {}% + {\bibstring{cbytranslator}\addspace% + \printnames[bytranslator]{nameb}\newcunit}}% + {\usebibmacro{cbyeditor+others}% + \newcunit}}% + {\usebibmacro{cpart+editor+translator}% + \newcunit}% + \usebibmacro{date}}}% + +\renewbibmacro*{related:origpubin}[1]{% + \entrydata*{#1}{% + \usebibmacro{at+every+item}% + \usebibmacro{cmsyear}% + \ifboolexpr{% + test {\iflistsequal{publisher}{savedpublisher}}% + or + test {\iflistundef{publisher}}% + }% + {}% + {\midsentence% Why is this kludge necessary? + \setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}% + \printlist{publisher}% + \setunit{\addcomma\space}% + \iflistsequal{location}{savedlocation}% + {}% + {\printlist{location}}}}} + +\DeclareFieldFormat{title:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \mkbibemph{#1}} + +\DeclareFieldFormat{ititle:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{#1}% + \endgroup + \mkbibquote{#1}} + +\DeclareFieldFormat{chapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{chapter}}% + \endgroup + \bibstring{chapter}~#1\addspace\bibstring{in}}% + +\DeclareFieldFormat{avchapter:hook}{% + \begingroup + \mkrelatedstring% + \ifboolexpr{% + togl {cms@otherlang}% + and + not test {\iffieldundef{langid}}% + }% + {\unspace}{}% + \ifdefstring{\blx@main@language}{french}% + {}% + {\iftoggle{smartof}% + {\let\lbx@inittitlehook\lbx@fr@smartof}% + {}}% + \lbx@inittitlehook{\bibstring{chapter}}% + \endgroup + \bibstring{chapter}~#1}% + +\DeclareFieldFormat{sitnoformat}{#1} +\DeclareFieldFormat{sjtnoformat}{#1} +\DeclareFieldFormat{stnoformat}{#1} +\DeclareFieldFormat{sbtnoformat}{#1} +\DeclareFieldFormat{smtnoformat}{#1} +\DeclareFieldFormat{itnoformat}{#1} +\DeclareFieldFormat{jtnoformat}{#1} +\DeclareFieldFormat{jtsnoformat}{#1} +\DeclareFieldFormat{tnoformat}{#1} +\DeclareFieldFormat{btnoformat}{#1} +\DeclareFieldFormat{mtnoformat}{#1} + +\providetoggle{cms@otherlang} + +\apptocmd\blx@opt@autolang@other% +{\toggletrue{cms@otherlang}}% +{\blx@info@noline{Patching 'autolang=other' option}} +{\PackageWarningNoLine{biblatex-chicago}% + {Upgrading biblatex to >v2.7a recommended,\MessageBreak + especially if you are using the "related"\MessageBreak + functionality}} + +\newbibmacro*{cms:titlehook}{% Needed for full drivers in reprintfrom + \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR% + \ifentrytype{inbook}\OR\ifentrytype{incollection}\OR% + \ifentrytype{inproceedings}\OR\ifentrytype{letter}\OR% + \ifentrytype{music}\OR\ifentrytype{video}\)}% + {\iffieldundef{issuetitle}% + {\iffieldundef{title}% + {\iffieldundef{booktitle}% + {\iffieldundef{maintitle}% + {\iffieldundef{journaltitle}% + {}% + {\DeclareFieldAlias{jtnoformat}{title:hook}% + \DeclareFieldAlias{sjtnoformat}{title}% + \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{jtsnoformat}{title:hook}}}% + {\DeclareFieldAlias{mtnoformat}{title:hook}% + \DeclareFieldAlias{smtnoformat}{title}% + \DeclareFieldAlias{maintitle}{default}}}% + {\DeclareFieldAlias{btnoformat}{title:hook}% + \DeclareFieldAlias{sbtnoformat}{title}% + \DeclareFieldAlias{booktitle}{default}}}% + {\DeclareFieldAlias{tnoformat}{title:hook}% + \DeclareFieldAlias{stnoformat}{citetitle}% + \DeclareFieldAlias[video]{title}{default}% + \DeclareFieldAlias[audio]{title}{default}% + \DeclareFieldAlias[music]{title}{default}% + \DeclareFieldAlias{title}{default}% + \DeclareFieldAlias[periodical]{shorttitle}{series}}}% + {\iffieldundef{issuesubtitle}% + {\DeclareFieldAlias{itnoformat}{ititle:hook}% + \DeclareFieldAlias{issuetitle}{default}}% + {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}% + {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% + \ifentrytype{video}}% + {\iffieldundef{title}% + {\DeclareFieldAlias{chapter}{avchapter:hook}}% + {\DeclareFieldAlias{tnoformat}{title:hook}% + \DeclareFieldAlias{stnoformat}{citetitle}% + \DeclareFieldAlias[video]{title}{default}% + \DeclareFieldAlias[audio]{title}{default}% + \DeclareFieldAlias[music]{title}{default}}}% + {\DeclareFieldAlias{chapter}{chapter:hook}}}}% + +\newbibmacro*{cite:origfull}{% + \printtext[cmshypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \clearname{author}\clearfield{userf}\clearfield{shorthand}% + \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% + \frenchspacing}% + {cite:\thefield{entrytype}}}} + +\newbibmacro*{cite:origpubl}{% + \printtext[cmshypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \usebibmacro{clearpublin}\clearfield{shorthand}% + \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% + \toggletrue{cms@origpublished}\frenchspacing% + \usebibmacro{cms:titlehook}}% + {cite:\thefield{entrytype}}}} + +\newbibmacro*{at+every+item}{% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}% + \ifboolexpr{% + test {\iffieldundef{origyear}}% + or + test {\iffieldundef{year}}% + or + not test {\iffieldint{year}}% + or + togl {cms@switchdates}% + }% + {}% + {\ifboolexpr{% Needed for open-ended ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}}% + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}}% + {}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}}% + {}}}}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx index c1358168318..3934e01c8f2 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx @@ -1,6 +1,4 @@ -% $Id: cms-american.lbx,v 0.10.2.8 2018/01/09 18:58:58 dfussner Exp $ - -\ProvidesFile{cms-american.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-american.lbx}[2020/04/20 v 3.14 biblatex localization] \InheritBibliographyExtras{american} @@ -8,9 +6,14 @@ \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Introduction}% + \def\sectionname{Section}% + \def\subsectionname{Subsection}% + \def\forewordname{Foreword}% + \def\notesname{Notes}% \protected\def\mkjuridordinal#1{% \begingroup \@tempcnta0#1\relax\number\@tempcnta @@ -20,282 +23,110 @@ \fi \ifcase\@tempcnta th\or st\or d\or d\else th\fi \endgroup}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#3} + {\iffieldundef{#1}{}{\space}} + {\nobreakspace}}% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#1}{}{,\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\cmsdateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#3} + {\iffieldundef{#1}{}{/}} + {/}}% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#1}{}{/}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \protected\def\mkbibseasondateshort#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibseasondatelong#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\cmsmkdecade#1#2{% + \cms@tempcnta=\thefield{#2year}% + \divide\cms@tempcnta100 + \multiply\cms@tempcnta100 + \ifnumequal{\cms@tempcnta}{\thefield{#2year}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\ifnumequal{\thefield{#2year}}{1}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\ifnumless{\thefield{#2year}}\blx@dateeraauto}% + }% + {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}% + {}}% + {}% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}% + }% + {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}% + {}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\cmsdateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% \protected\def\mkdaterangecomp{% \lbx@cms@mkbibrangetrunc@long{long}}% \protected\def\mkdaterangeterse{% \lbx@cms@mkbibrangetrunc@short{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc@long{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc@short{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}}% + \lbx@cms@mkbibrangefull@us}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}}% \UndeclareBibliographyExtras{% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangeterse% \restorecommand\mkdaterangefull% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangeterse% - \restorecommand\mkbibrangefull% + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% } -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -\NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} - \DeclareBibliographyStrings{% inherit = {english}, afterwordto = {{afterword to}{afterw\adddot\space to}}, @@ -337,9 +168,13 @@ producers = {{prods\adddot}{prods\adddot}}, editor = {{ed\adddot}{ed\adddot}}, editors = {{eds\adddot}{eds\adddot}}, + choreographer = {{chor\adddot}{chor\adddot}}, + choreographers = {{chors\adddot}{chors\adddot}}, ibidem = {{ibid\adddot}{id\adddot}},% Shorter for legal origpub = {{originally published as\addspace}% {orig\adddot\ pub\adddot\ as\addspace}}, + origpubin = {{first published}% + {first pub\adddot}}, origpublin = {{originally published in\addspace}% {orig\adddot\ pub\adddot\addspace in\addspace}}, origpubyear = {{originally published in\addspace}% @@ -359,6 +194,15 @@ discrecorded = {{recorded}{recorded}}, numbers = {{nos\adddot}{nos\adddot}}, nodate = {{{}n\adddot d\adddot}{{}n\adddot d\adddot}}, + % commonera = {{CE}{CE}}, + % beforecommonera = {{BCE}{BCE}}, + % annodomini = {{AD}{AD}}, + % beforechrist = {{BC}{BC}}, +% circa = {{ca\adddot}{ca\adddot}}, + am = {{a\adddot m\adddot}{a\adddot m\adddot}}, + pm = {{p\adddot m\adddot}{p\adddot m\adddot}}, + decade = {{s}{s}}, + century = {{century}{c\adddot}}, pseudonym = {{pseud\adddot}{pseud\adddot}}, patentfiled = {{filed}{filed}}, patentissued = {{issued}{issued}}, @@ -403,7 +247,10 @@ annotators = {{annot\adddot}{annot\adddot}}, review = {{review}{review}}, reviewof = {{review of}{review of}}, + commenton = {{comment on}{comment on}}, reprint = {{reprint}{repr\adddot}}, + printed = {{printed}{printed}},% 17th ed. + selfpublished = {{self-published}{self-pub\adddot}}, shorthands = {{Abbreviations}{Abbreviations}}, newseries = {{n\adddot s\adddot}{n\adddot s\adddot}}, urlseen = {{accessed}{accessed}}, @@ -423,6 +270,7 @@ cbyconductor = {{dir\adddot}{dir\adddot}}, cbydirector = {{dir\adddot}{dir\adddot}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{chor\adddot}{chor\adddot}}, cbyeditortr = {{ed\adddot\space and trans\adddot\addspace\lbx@cfromlang}% {ed\adddot\space and trans\adddot\addspace\lbx@cfromlang}}, @@ -686,6 +534,7 @@ jourser = {{ser\adddot}{ser\adddot}}, oldseries = {{o\adddot s\adddot}{o\adddot s\adddot}}, edition = {{ed\adddot}{ed\adddot}}, + version = {{version}{v\adddot}}, page = {{p\adddot}{p\adddot}}, pages = {{pp\adddot}{pp\adddot}}, column = {{col\adddot}{col\adddot}}, @@ -696,6 +545,10 @@ paragraphs = {{\P\P}{\P\P}}, section = {{\S}{\S}}, sections = {{\S\S}{\S\S}}, + subsection = {{\S}{\S}}, + subsections = {{\S\S}{\S\S}}, + preface = {{preface}{pref\adddot}}, + note = {{note}{n\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto @@ -706,8 +559,9 @@ verse = {{v\adddot}{v\adddot}}, verses = {{vv\adddot}{vv\adddot}}, number = {{no\adddot}{no\adddot}}, - chapter = {{chap\adddot}{ch\adddot}},% for legal citations - part = {{part}{pt\adddot}},% ditto + chapter = {{chap\adddot}{chap\adddot}},% + part = {{part}{pt\adddot}},% for legal citations + track = {{track}{track}}, mathesis = {{master's thesis}{master's thesis}}, phdthesis = {{PhD\addabbrvspace diss\adddot}{PhD\addabbrvspace diss\adddot}}, techreport = {{technical report}{technical report}}, @@ -746,6 +600,7 @@ byconductor = {{directed by}{dir\adddot}}, bydirector = {{directed by}{dir\adddot}}, byproducer = {{produced by}{prod\adddot}}, + bychoreographer = {{choreographed by}{chor\adddot}}, byeditorcp = {{edited and compiled by}{ed\adddot\space and comp\adddot}}, byeditortrcp = {{edited, translated \lbx@fromlang, and compiled by}% {ed.,\addabbrvspace trans.\addspace\lbx@fromlang, and comp\adddot}}, @@ -886,63 +741,290 @@ {comp\adddot\space and annot\adddot, with an afterword, by}}, } +%%% The logic here is tricky because of the need to print AD before +%%% the year and BC after, and also only to print them once in a date +%%% range that has two years belonging to the same era. Other +%%% subtleties include the relative positions of question mark and +%%% date era, and of date era and end bracket. + \protected\gdef\lbx@cms@mkbibrangetrunc@long#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% {}% {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% {}% - {\bibdatedash% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2endday}}% - {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}% - {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% - {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}} + \iffieldundef{#2endyear}% + {\iffieldundef{#2endmonth}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\bibdaterangesep% + \csuse{mkbibseasondate#1}{}{#2endseason}}}% + {\bibdaterangesep% + \iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{}{}{#2endday}}% + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}}% + {\iffieldequalstr{#2endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdatedash% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{#2year}{}{#2endday}}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} \protected\gdef\lbx@cms@mkbibrangetrunc@short#1#2{% Modify ??? - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% {}% {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season} + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% +\protected\gdef\lbx@cms@mkbibrangefull@us#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\bibsstring{circa}\printdelim{datecircadelim}} + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifboolexpr{% + test {\ifdateyearsequal{#2}{#2end}}% + and + test {\iffieldundef{#2month}}% + and + test {\iffieldundef{#2day}}% + }% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdaterangesep% + \iffieldundef{#2endseason}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx index abe484542d6..320935b6eb1 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx @@ -1,11 +1,8 @@ -% $Id: cms-brazilian.lbx,v 0.10.1.36 2016/06/01 11:02:59 dfussner Exp $ - -\ProvidesFile{cms-brazilian.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-brazilian.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Gustavo Barros. - \DeclareRedundantLanguages{brazilian}{brazil,portuges} \InheritBibliographyExtras{brazilian} @@ -13,332 +10,110 @@ \DeclareBibliographyExtras{% \toggletrue{cms@postposit}% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Introdu\c{c}\~ao}% + \def\sectionname{Se\c{c}\~ao}% + \def\subsectionname{Subse\c{c}\~ao}% + \def\forewordname{Pref\'acio}% + \def\notesname{Notas}% \protected\def\mkjuridordinal{\mkbibordinal}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \protected\def\cmsmkdecade#1#2{% + \dateeraprintpre{#2year}% + \bibsstring{decade}% + \printdelim{dateaddelim}% + \stripzeros{\thefield{#2year}}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {}{\dateeraprintpre{#1year}}% + \bibsstring{century}% + \printdelim{dateaddelim}% + \csuse{mkcmscentury}{#1year}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}% + \protected\def\mkcmscentury#1{% + \MakeUppercase{\romannumeral\numexpr\thefield{#1}/100+1}}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangeterse% \restorecommand\mkdaterangefull% + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% \togglefalse{cms@postposit}% }% -\NewBibliographyString{organizer} -\NewBibliographyString{organizers} -\NewBibliographyString{byorganizer} -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbyorganizer} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -% \NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -% \NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} - \DeclareBibliographyStrings{% inherit = {brazilian}, - afterwordto = {{posf\'acio a}{posf\adddot\addspace a}}, - forewordto = {{pref\'acio a}{pref\adddot\addspace a}}, - introductionto = {{introdu\c{c}\~ao a}{introd\adddot\addspace a}}, + afterwordto = {{posf\'acio a}{posf\adddot\ a}}, + forewordto = {{pref\'acio a}{pref\adddot\ a}}, + introductionto = {{introdu\c{c}\~ao a}{introd\adddot\ a}}, partvolume = {{tomo}{tomo}}, by = {{por}{por}}, of = {{de}{de}}, on = {{em}{em}}, compiler = {{comp\adddot}{comp\adddot}}, - compilers = {{comps\adddot}{comps\adddot}}, - transcompiler = {{trad\adddot\addspace e comp\adddot}% - {trad\adddot\addspace e comp\adddot}}, - transcompilers = {{trads\adddot\addspace e comps\adddot}% - {trads\adddot\addspace e comps\adddot}}, - editortranscompiler = {{ed\adddot\addcomma\addspace trad\adddot\addspace e comp\adddot}% - {ed\adddot\addcomma\addspace trad\adddot\addspace e comp\adddot}}, - editorcompiler = {{ed\adddot\addspace e comp\adddot}% - {ed\adddot\addspace e comp\adddot}}, - editortranslator = {{ed\adddot\addspace e trad\adddot}% - {ed\adddot\addspace e trad\adddot}}, - editortranscompilers = {{eds\adddot\addcomma\addspace trads\adddot\addspace e comps\adddot}% - {eds\adddot\addcomma\addspace trads\adddot\addspace e comps\adddot}}, - editorcompilers = {{eds\adddot\addspace e comps\adddot}% - {eds\adddot\addspace e comps\adddot}}, - editortranslators = {{eds\adddot\addspace e trads\adddot}% - {eds\adddot\addspace e trads\adddot}}, + compilers = {{comp\adddot}{comp\adddot}}, + transcompiler = {{trad\adddot\ e comp\adddot}% + {trad\adddot\ e comp\adddot}}, + transcompilers = {{trad\adddot\ e comp\adddot}% + {trad\adddot\ e comp\adddot}}, + editortranscompiler = {{ed.,\addabbrvspace trad\adddot\ e comp\adddot}% + {ed.,\addabbrvspace trad\adddot\ e comp\adddot}}, + editorcompiler = {{ed\adddotspace e comp\adddot}% + {ed\adddotspace e comp\adddot}}, + editortranslator = {{ed\adddotspace e trad\adddot}% + {ed\adddotspace e trad\adddot}}, + editortranscompilers = {{ed.,\addabbrvspace trad\adddot\ e comp\adddot}% + {ed.,\addabbrvspace trad\adddot\ e comp\adddot}}, + editorcompilers = {{ed\adddotspace e comp\adddot}% + {ed\adddotspace e comp\adddot}}, + editortranslators = {{ed\adddotspace e trad\adddot}% + {ed\adddotspace e trad\adddot}}, conductor = {{reg\adddot}{reg\adddot}}, - conductors = {{regs\adddot}{regs\adddot}}, + conductors = {{reg\adddot}{reg\adddot}}, director = {{dir\adddot}{dir\adddot}}, - directors = {{dirs\adddot}{dirs\adddot}}, + directors = {{dir\adddot}{dir\adddot}}, none = {{}{}}, nones = {{}{}}, producer = {{prod\adddot}{prod\adddot}}, - producers = {{prods\adddot}{prods\adddot}}, + producers = {{prod\adddot}{prod\adddot}}, editor = {{ed\adddot}{ed\adddot}}, - editors = {{eds\adddot}{eds\adddot}}, + editors = {{ed\adddot}{ed\adddot}}, organizer = {{org\adddot}{org\adddot}}, - organizers = {{orgs\adddot}{orgs\adddot}}, - byorganizer = {{organizado por}{org\adddot\addspace por}}, + organizers = {{org\adddot}{org\adddot}}, ibidem = {{ibid\adddot}{ibid\adddot}}, origpub = {{originalmente publicado como\addspace}% {orig\adddot\ pub\adddot\ como\addspace}}, origpublin = {{originalmente publicado em\addspace}% - {orig\adddot\ pub\adddot\addspace em\addspace}}, + {orig\adddot\ pub\adddot\ em\addspace}}, origpubyear = {{originalmente publicado em\addspace}% {orig\adddot\ pub\adddot\addspace}}, origpubyearalt = {{originalmente publicado em\addspace}% @@ -349,13 +124,15 @@ {orig\adddot\ apresentado\addspace}}, origedition ={{edi\c{c}\~ao}% {ed\adddot\addcolon\addspace}}, - revisededition = {{ed\adddot\addspace rev\adddot}% - {ed\adddot\addspace rev\adddot}}, + revisededition = {{ed\adddotspace rev\adddot}% + {ed\adddotspace rev\adddot}}, broadcast = {{transmitido}{transmitido}}, songrecorded = {{gravada}{gravada}}, discrecorded = {{gravado}{gravado}}, - numbers = {{n\textsuperscript{os}}{n\textsuperscript{os}}}, + numbers = {{n\adddot}{n\adddot}}, nodate = {{{}s\adddot d\adddot}{{}s\adddot d\adddot}}, + decade = {{d\'ecada de}{d\'ec\adddot}}, + century = {{s\'eculo}{s\'ec\adddot}}, pseudonym = {{pseud\adddot}{pseud\adddot}}, patentfiled = {{pedida}{pedida}}, patentissued = {{concedida}{concedida}}, @@ -369,17 +146,17 @@ eddanish = {{dinamarquesa}{dinamarquesa}}, eddutch = {{holandesa}{holandesa}}, edenglish = {{inglesa}{inglesa}}, - edfinnish = {{finland\^esa}{finland\^esa}}, + edfinnish = {{finlandesa}{finlandesa}}, edestonian = {{estoniana}{estoniana}}, edfrench = {{francesa}{francesa}}, edgalician = {{galega}{galega}}, edgerman = {{alem\~a}{alem\~a}}, edgreek = {{grega}{grega}}, editalian = {{italiana}{italiana}}, - edjapanese = {{japon\^esa}{japon\^esa}}, + edjapanese = {{japonesa}{japonesa}}, edlatin = {{latina}{latina}}, ednorwegian = {{norueguesa}{norueguesa}}, - edpolish = {{polon\^esa}{polon\^esa}}, + edpolish = {{polonesa}{polonesa}}, edportuguese = {{portuguesa}{portuguesa}}, edrussian = {{russa}{russa}}, edslovak = {{eslovaca}{eslovaca}}, @@ -387,232 +164,234 @@ edspanish = {{espanhola}{espanhola}}, edswedish = {{sueca}{sueca}}, translator = {{trad\adddot}{trad\adddot}}, - translators = {{trads\adddot}{trads\adddot}}, + translators = {{trad\adddot}{trad\adddot}}, redactor = {{red\adddot}{red\adddot}}, - redactors = {{reds\adddot}{reds\adddot}}, + redactors = {{red\adddot}{red\adddot}}, + commentator = {{coment\adddot}{coment\adddot}}, + commentators = {{coment\adddot}{coment\adddot}}, founder = {{fund\adddot}{fund\adddot}}, - founders = {{funds\adddot}{funds\adddot}}, + founders = {{fund\adddot}{fund\adddot}}, continuator = {{cont\adddot}{cont\adddot}}, - continuators = {{conts\adddot}{conts\adddot}}, + continuators = {{cont\adddot}{cont\adddot}}, collaborator = {{col\adddot}{col\adddot}}, - collaborators = {{cols\adddot}{cols\adddot}}, - annotator = {{anot\adddot}{anot\adddot}}, - annotators = {{anots\adddot}{anots\adddot}}, + collaborators = {{col\adddot}{col\adddot}}, + annotator = {{notas}{notas}}, + annotators = {{notas}{notas}}, review = {{resenha}{resenha}}, reviewof = {{resenha de}{resenha de}}, reprint = {{reimpress\~ao}{reimpr\adddot}}, shorthands = {{Abreviaturas}{Abreviaturas}}, - newseries = {{n\adddot s\adddot}{n\adddot s\adddot}}, - urlseen = {{acesso}{acesso}}, + newseries = {{s\adddot n\adddot}{s\adddot n\adddot}}, + urlseen = {{acesso em}{acesso em}}, cbynone = {{}{}}, cbyauthor = {{por}{por}}, cbyeditor = {{ed\adddot}{ed\adddot}}, cbyorganizer = {{org\adddot}{org\adddot}}, - cbytranslator = {{trad\adddot\addspace\lbx@cfromlang}% - {trad\adddot\addspace\lbx@cfromlang}}, + cbytranslator = {{trad\adddot\ \lbx@cfromlang}% + {trad\adddot\ \lbx@cfromlang}}, cbycompiler = {{comp\adddot}{comp\adddot}}, cbyredactor = {{red\adddot}{red\adddot}}, cbycommentator = {{coment\adddot}{coment\adddot}}, - cbyannotator = {{anot\addot}{anot\addot}}, + cbyannotator = {{anot\adddot}{anot\adddot}}, cbyfounder = {{fund\adddot}{fund\adddot}}, cbycontinuator = {{cont\adddot}{cont\adddot}}, - cbycollaborator = {{em col\adddot\addspace com}% - {em col\adddot\addspace com}}, + cbycollaborator = {{em col\adddot\ com}% + {em col\adddot\ com}}, cbyconductor = {{reg\adddot}{reg\adddot}}, cbydirector = {{dir\adddot}{dir\adddot}}, cbyproducer = {{prod\adddot}{prod\adddot}}, - cbyeditortr = {{ed\adddot\addspace e trad\adddot\addspace\lbx@cfromlang}% - {ed\adddot\addspace e trad\adddot\addspace\lbx@cfromlang}}, - cbyeditorcp = {{ed\adddot\addspace e comp\adddot}% - {ed\adddot\addspace e comp\adddot}}, - cbyeditorco = {{ed\adddot\addspace e coment\adddot}% - {ed\adddot\addspace e coment\adddot}}, - cbyeditoran = {{ed\adddot\addspace e anot\adddot}% - {ed\adddot\addspace e anot\adddot}}, - cbyeditorin = {{ed\adddot\addspace e introd\adddot\ por}% - {ed\adddot\addspace e introd\adddot\ por}}, - cbyeditorfo = {{ed\adddot\addspace e pref\adddot\ por}% - {ed\adddot\addspace e pref\adddot\ por}}, - cbyeditoraf = {{ed\adddot\addspace e posf\adddot\ por}% - {ed\adddot\addspace e posf\adddot\ por}}, - cbyeditortrcp = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e comp\adddot}% - {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\ e comp\adddot}}, - cbyeditortrco = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e coment\adddot}% - {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e coment\adddot}}, - cbyeditortran = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e anot\adddot}% - {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e anot\adddot}}, - cbyeditortrin = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang e introd\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang e introd\adddot\ por}}, - cbyeditortrfo = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e pref\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e pref\adddot\ por}}, - cbyeditortraf = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang\addspace e posf\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e posf\adddot\ por}}, + cbyeditortr = {{ed\adddotspace e trad\adddot\ \lbx@cfromlang}% + {ed\adddotspace e trad\adddot\ \lbx@cfromlang}}, + cbyeditorcp = {{ed\adddotspace e comp\adddot}% + {ed\adddotspace e comp\adddot}}, + cbyeditorco = {{ed\adddotspace e coment\adddot}% + {ed\adddotspace e coment\adddot}}, + cbyeditoran = {{ed\adddotspace e anot\adddot}% + {ed\adddotspace e anot\adddot}}, + cbyeditorin = {{ed\adddotspace e introd\adddot}% + {ed\adddotspace e introd\adddot}}, + cbyeditorfo = {{ed\adddotspace e pref\adddot}% + {ed\adddotspace e pref\adddot}}, + cbyeditoraf = {{ed\adddotspace e posf\adddot}% + {ed\adddotspace e posf\adddot}}, + cbyeditortrcp = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}}, + cbyeditortrco = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e coment\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e coment\adddot}}, + cbyeditortran = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e anot\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e anot\adddot}}, + cbyeditortrin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e introd\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e introd\adddot}}, + cbyeditortrfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e pref\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e pref\adddot}}, + cbyeditortraf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e posf\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e posf\adddot}}, cbyeditorcpco = {{ed.,\addabbrvspace comp\adddot\ e coment\adddot}% {ed.,\addabbrvspace comp\adddot\ e coment\adddot}}, cbyeditorcpan = {{ed.,\addabbrvspace comp\adddot\ e anot\adddot}% {ed.,\addabbrvspace comp\adddot\ e anot\adddot}}, - cbyeditorcpin = {{ed.,\addabbrvspace comp\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace comp\adddot\ e introd\adddot\ por}}, - cbyeditorcpfo = {{ed.,\addabbrvspace comp\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace comp\adddot\ e pref\adddot\ por}}, - cbyeditorcpaf = {{ed.,\addabbrvspace comp\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace comp\adddot\ e posf\adddot\ por}}, - cbyeditorcpcoin = {{ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace comp., coment\adddot e introd\adddot\ por}}, - cbyeditorcpcofo = {{ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot\ por}}, - cbyeditorcpcoaf = {{ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot\ por}}, - cbyeditorcpanin = {{ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot\ por}}, - cbyeditorcpanfo = {{ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot\ por}}, - cbyeditorcpanaf = {{ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot\ por}}, + cbyeditorcpin = {{ed.,\addabbrvspace comp\adddot\ e introd\adddot}% + {ed.,\addabbrvspace comp\adddot\ e introd\adddot}}, + cbyeditorcpfo = {{ed.,\addabbrvspace comp\adddot\ e pref\adddot}% + {ed.,\addabbrvspace comp\adddot\ e pref\adddot}}, + cbyeditorcpaf = {{ed.,\addabbrvspace comp\adddot\ e posf\adddot}% + {ed.,\addabbrvspace comp\adddot\ e posf\adddot}}, + cbyeditorcpcoin = {{ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot}% + {ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot}}, + cbyeditorcpcofo = {{ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot}% + {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot}}, + cbyeditorcpcoaf = {{ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot}% + {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot}}, + cbyeditorcpanin = {{ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot}% + {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot}}, + cbyeditorcpanfo = {{ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot}% + {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot}}, + cbyeditorcpanaf = {{ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot}% + {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot}}, cbyeditortrcpco = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}}, cbyeditortrcpan = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}}, - cbyeditortrcpin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}}, - cbyeditortrcpfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}}, - cbyeditortrcpaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}}, - cbyeditortrcpcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}}, - cbyeditortrcpcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}}, - cbyeditortrcpcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}}, - cbyeditortrcpanin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}}, - cbyeditortrcpanfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}}, - cbyeditortrcpanaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}}, - cbyeditorcoin = {{ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}}, - cbyeditorcofo = {{ed.,\addabbrvspace coment\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace coment\adddot\ e pref\adddot\ por}}, - cbyeditorcoaf = {{ed.,\addabbrvspace coment\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace coment\adddot\ e posf\adddot\ por}}, - cbyeditoranin = {{ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}}, - cbyeditoranfo = {{ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}}, - cbyeditoranaf = {{ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}}, - cbyeditortrcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}}, - cbyeditortrcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}}, - cbyeditortrcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}}, - cbyeditortranin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}}, - cbyeditortranfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}}, - cbyeditortranaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}}, + cbyeditortrcpin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}}, + cbyeditortrcpfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}}, + cbyeditortrcpaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}}, + cbyeditortrcpcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}}, + cbyeditortrcpcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}}, + cbyeditortrcpcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}}, + cbyeditortrcpanin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}}, + cbyeditortrcpanfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}}, + cbyeditortrcpanaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}}, + cbyeditorcoin = {{ed.,\addabbrvspace coment\adddot\ e introd\adddot}% + {ed.,\addabbrvspace coment\adddot\ e introd\adddot}}, + cbyeditorcofo = {{ed.,\addabbrvspace coment\adddot\ e pref\adddot}% + {ed.,\addabbrvspace coment\adddot\ e pref\adddot}}, + cbyeditorcoaf = {{ed.,\addabbrvspace coment\adddot\ e posf\adddot}% + {ed.,\addabbrvspace coment\adddot\ e posf\adddot}}, + cbyeditoranin = {{ed.,\addabbrvspace anot\adddot\ e introd\adddot}% + {ed.,\addabbrvspace anot\adddot\ e introd\adddot}}, + cbyeditoranfo = {{ed.,\addabbrvspace anot\adddot\ e pref\adddot}% + {ed.,\addabbrvspace anot\adddot\ e pref\adddot}}, + cbyeditoranaf = {{ed.,\addabbrvspace anot\adddot\ e posf\adddot}% + {ed.,\addabbrvspace anot\adddot\ e posf\adddot}}, + cbyeditortrcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}}, + cbyeditortrcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}}, + cbyeditortrcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}}, + cbyeditortranin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}}, + cbyeditortranfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}}, + cbyeditortranaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}% + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}}, cbytranslatorcp = {{trad\adddot\ \lbx@fromlang\ e comp\adddot}% {trad\adddot\ \lbx@fromlang\ e comp\adddot}}, cbytranslatorco = {{trad\adddot\ \lbx@fromlang\ e coment\adddot}% {trad\adddot\ \lbx@fromlang\ e coment\adddot}}, cbytranslatoran = {{trad\adddot\ \lbx@fromlang\ e anot\adddot}% {trad\adddot\ \lbx@fromlang\ e anot\adddot}}, - cbytranslatorin = {{trad\adddot\ \lbx@fromlang\addspace e introd\adddot\ por}% - {trad\adddot\ \lbx@fromlang\addspace e introd\adddot\ por}}, - cbytranslatorfo = {{trad\adddot\ \lbx@fromlang\addspace e pref\adddot\ por}% - {trad\adddot\ \lbx@fromlang\addspace e pref\adddot\ por}}, - cbytranslatoraf = {{trad\adddot\ \lbx@fromlang\addspace e posf\adddot\ por}% - {trad\adddot\ \lbx@fromlang\addspace e posf\adddot\ por}}, - cbytranslatorcoin = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}% - {trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}}, - cbytranslatorcofo = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}% - {trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}}, - cbytranslatorcoaf = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}% - {trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}}, - cbytranslatoranin = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}% - {trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}}, - cbytranslatoranfo = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}% - {trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}}, - cbytranslatoranaf = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}% - {trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}}, + cbytranslatorin = {{trad\adddot\ \lbx@fromlang\ e introd\adddot}% + {trad\adddot\ \lbx@fromlang\ e introd\adddot}}, + cbytranslatorfo = {{trad\adddot\ \lbx@fromlang\ e pref\adddot}% + {trad\adddot\ \lbx@fromlang\ e pref\adddot}}, + cbytranslatoraf = {{trad\adddot\ \lbx@fromlang\ e posf\adddot}% + {trad\adddot\ \lbx@fromlang\ e posf\adddot}}, + cbytranslatorcoin = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}% + {trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}}, + cbytranslatorcofo = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}% + {trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}}, + cbytranslatorcoaf = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}% + {trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}}, + cbytranslatoranin = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}% + {trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}}, + cbytranslatoranfo = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}% + {trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}}, + cbytranslatoranaf = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}% + {trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}}, cbytranslatorcpco = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}% {trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}}, cbytranslatorcpan = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}% {trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}}, - cbytranslatorcpin = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}}, - cbytranslatorcpfo = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}}, - cbytranslatorcpaf = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}}, - cbytranslatorcpcoin = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}}, - cbytranslatorcpcofo = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}}, - cbytranslatorcpcoaf = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}}, - cbytranslatorcpanin = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}}, - cbytranslatorcpanfo = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}}, - cbytranslatorcpanaf = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}% - {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}}, + cbytranslatorcpin = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}% + {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}}, + cbytranslatorcpfo = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}% + {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}}, + cbytranslatorcpaf = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}% + {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}}, + cbytranslatorcpcoin = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}% + {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}}, + cbytranslatorcpcofo = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}% + {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}}, + cbytranslatorcpcoaf = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}% + {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}}, + cbytranslatorcpanin = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}% + {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}}, + cbytranslatorcpanfo = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}% + {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}}, + cbytranslatorcpanaf = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}% + {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}}, cbycompilerco = {{comp\adddot\ e coment\adddot}% {comp\adddot\ e coment\adddot}}, cbycompileran = {{comp\adddot\ e anot\adddot}% {comp\adddot\ e anot\adddot}}, - cbycompilerin = {{comp\adddot\ e introd\adddot\ por}% - {comp\adddot\ e introd\adddot\ por}}, - cbycompilerfo = {{comp\adddot\ e pref\adddot\ por}% - {comp\adddot\ e pref\adddot\ por}}, - cbycompileraf = {{comp\adddot\ e posf\adddot\ por}% - {comp\adddot\ e posf\adddot\ por}}, - cbycompilercoin = {{comp., coment\adddot\ e introd\adddot\ por}% - {comp., coment\adddot\ e introd\adddot\ por}}, - cbycompilercofo = {{comp., coment\adddot\ e pref\adddot\ por}% - {comp., coment\adddot\ e pref\adddot\ por}}, - cbycompilercoaf = {{comp., coment\adddot\ e posf\adddot\ por}% - {comp., coment\adddot\ e posf\adddot\ por}}, - cbycompileranin = {{comp., anot\adddot\ e introd\adddot\ por}% - {comp., anot\adddot\ e introd\adddot\ por}}, - cbycompileranfo = {{comp., anot\adddot\ e pref\adddot\ por}% - {comp., anot\adddot\ e pref\adddot\ por}}, - cbycompileranaf = {{comp., anot\adddot\ e posf\adddot\ por}% - {comp., anot\adddot\ e posf\adddot\ por}}, + cbycompilerin = {{comp\adddot\ e introd\adddot}% + {comp\adddot\ e introd\adddot}}, + cbycompilerfo = {{comp\adddot\ e pref\adddot}% + {comp\adddot\ e pref\adddot}}, + cbycompileraf = {{comp\adddot\ e posf\adddot}% + {comp\adddot\ e posf\adddot}}, + cbycompilercoin = {{comp., coment\adddot\ e introd\adddot}% + {comp., coment\adddot\ e introd\adddot}}, + cbycompilercofo = {{comp., coment\adddot\ e pref\adddot}% + {comp., coment\adddot\ e pref\adddot}}, + cbycompilercoaf = {{comp., coment\adddot\ e posf\adddot}% + {comp., coment\adddot\ e posf\adddot}}, + cbycompileranin = {{comp., anot\adddot\ e introd\adddot}% + {comp., anot\adddot\ e introd\adddot}}, + cbycompileranfo = {{comp., anot\adddot\ e pref\adddot}% + {comp., anot\adddot\ e pref\adddot}}, + cbycompileranaf = {{comp., anot\adddot\ e posf\adddot}% + {comp., anot\adddot\ e posf\adddot}}, volume = {{vol\adddot}{vol\adddot}}, - volumes = {{vols\adddot}{vols\adddot}}, - jourvol = {{vol\adddot}{vol\adddot}}, + volumes = {{vol\adddot}{vol\adddot}}, + jourvol = {{v\adddot}{v\adddot}}, jourser = {{s\'er\adddot}{s\'er\adddot}}, oldseries = {{s\adddot a\adddot}{s\adddot a\adddot}}, edition = {{ed\adddot}{ed\adddot}}, page = {{p\adddot}{p\adddot}}, pages = {{pp\adddot}{pp\adddot}}, column = {{col\adddot}{col\adddot}}, - columns = {{cols\adddot}{cols\adddot}}, - line = {{line}{line}}, - lines = {{lines}{lines}}, + columns = {{col\adddot}{col\adddot}}, + line = {{l\adddot}{l\adddot}}, + lines = {{ll\adddot}{ll\adddot}}, paragraph = {{par\adddot}{par\adddot}}, - paragraphs = {{pars\adddot}{pars\adddot}}, + paragraphs = {{par\adddot}{par\adddot}}, section = {{\S}{\S}}, sections = {{\S\S}{\S\S}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto - supranote = {{\mkbibemph{supra}\addspace nota\addnbspace}% ditto - {\mkbibemph{supra}\addspace nota\addnbspace}}, + supranote = {{nota \mkbibemph{supra}\addnbspace}% ditto + {nota \mkbibemph{supra}\addnbspace}}, hereinafter = {{doravante}{doravante}}, subverbo = {{verbete}{verb\adddot}}, - subverbis = {{verbetes}{verbs\adddot}}, + subverbis = {{verbetes}{verb\adddot}}, verse = {{v\adddot}{v\adddot}}, verses = {{vv\adddot}{vv\adddot}}, - number = {{n\textordmasculine}{n\textordmasculine}}, + number = {{n\adddot}{n\adddot}}, chapter = {{cap\adddot}{cap\adddot}}, mathesis = {{diss\adddot\ de mestrado}{diss\adddot\ de mestrado}}, phdthesis = {{tese de doutorado}{tese de doutorado}}, - techreport = {{relat\'orio t\'ecnico}{relat\'orio t\'ecnico}}, + techreport = {{relat\'orio t\'ecnico}{rel\adddot\ t\'ec\adddot}}, cfromamerican = {{do ingl\^es por}{do ingl\^es por}}, cfrombrazilian = {{do portugu\^es por}{do portugu\^es por}}, cfrombulgarian = {{do b\'ulgaro por}{do b\'ulgaro por}}, @@ -622,13 +401,14 @@ cfromdanish = {{do dinamarqu\^es por}{do dinamarqu\^es por}}, cfromdutch = {{do holand\^es por}{do holand\^es por}}, cfromenglish = {{do ingl\^es por}{do ingl\^es por}}, - cfromestonian = {{do estoniano por}{do estoniano pr}}, + cfromestonian = {{do estoniano por}{do estoniano por}}, cfromfinnish = {{do finland\^es por}{do finland\^es por}}, cfromfrench = {{do franc\^es por}{do franc\^es por}}, cfromgalician = {{do galego por}{do galego por}}, cfromgerman = {{do alem\~ao por}{do alem\~ao por}}, cfromgreek = {{do grego por}{do grego por}}, cfromitalian = {{do italiano por}{do italiano por}}, + cfromjapanese = {{do japon\^es por}{do japon\^es por}}, cfromlatin = {{do latim por}{do latim por}}, cfromnorwegian = {{do noruegu\^es por}{do noruegu\^es por}}, cfrompolish = {{do polon\^es por}{do polon\^es por}}, @@ -643,8 +423,7 @@ byconductor = {{regida por}{reg\adddot}}, bydirector = {{dirigido por}{dir\adddot}}, byproducer = {{produzido por}{prod\adddot}}, - byproducer = {{produzido por}{prod\adddot}}, - byeditorcp = {{editado e compilado por}{ed\adddot\addspace e comp\adddot}}, + byeditorcp = {{editado e compilado por}{ed\adddotspace e comp\adddot}}, byeditortrcp = {{editado, traduzido \lbx@fromlang\ e compilado por}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}}, byeditortrcpco = {{editado, traduzido \lbx@fromlang, compilado e comentado por}% @@ -652,45 +431,45 @@ byeditortrcpan = {{editado, traduzido \lbx@fromlang, compilado e anotado por}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}}, byeditortrcpin = {{editado, traduzido \lbx@fromlang, compilado e introduzido por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}}, byeditortrcpfo = {{editado, traduzido \lbx@fromlang, compilado e prefaciado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}}, byeditortrcpaf = {{editado, traduzido \lbx@fromlang, compilado e posfaciado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}}, byeditortrcpcoin = {{editado, traduzido \lbx@fromlang, compilado, comentado e introduzido por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}}, byeditortrcpcofo = {{editado, traduzido \lbx@fromlang, compilado, comentado e prefaciado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}}, byeditortrcpcoaf = {{editado, traduzido \lbx@fromlang, compilado, comentado e posfaciado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}}, byeditortrcpanin = {{editado, traduzido \lbx@fromlang, compilado, anotado e introduzido por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}}, byeditortrcpanfo = {{editado, traduzido \lbx@fromlang, compilado, anotado e prefaciado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}}, byeditortrcpanaf = {{editado, traduzido \lbx@fromlang, compilado, anotado e posfaciado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}}, byeditorcpco = {{editado, compilado e comentado por}% {ed.,\addabbrvspace comp\adddot\ e coment\adddot}}, byeditorcpan = {{editado, compilado e anotado por}% {ed.,\addabbrvspace comp\adddot\ e anot\adddot}}, byeditorcpin = {{editado, compilado e introduzido por}% - {ed.,\addabbrvspace comp\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace comp\adddot\ e introd\adddot}}, byeditorcpfo = {{editado, compilado e prefaciado por}% - {ed.,\addabbrvspace comp\adddot\ e pref\adddot\ por}}, + {ed.,\addabbrvspace comp\adddot\ e pref\adddot}}, byeditorcpaf = {{editado, compilado e posfaciado por}% - {ed.,\addabbrvspace comp\adddot\ e posf\adddot\ por}}, + {ed.,\addabbrvspace comp\adddot\ e posf\adddot}}, byeditorcpcoin = {{editado, compilado, comentado e introduzido por}% - {ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot}}, byeditorcpcofo = {{editado, compilado, comentado e prefaciado por}% - {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot\ por}}, + {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot}}, byeditorcpcoaf = {{editado, compilado, comentado e posfaciado por}% - {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot\ por}}, + {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot}}, byeditorcpanin = {{editado, compilado, anotado e introduzido por}% - {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot}}, byeditorcpanfo = {{editado, compilado, anotado e prefaciado por}% - {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot\ por}}, + {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot}}, byeditorcpanaf = {{editado, compilado, anotado e posfaciado por}% - {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot\ por}}, + {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot}}, bytranslatorcp = {{traduzido \lbx@fromlang\ e compilado por}% {trad\adddot\ \lbx@fromlang\ e comp\adddot}}, bytranslatorcpco = {{traduzido \lbx@fromlang, compilado e comentado por}% @@ -698,94 +477,57 @@ bytranslatorcpan = {{traduzido \lbx@fromlang, compilado e anotado por}% {trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}}, bytranslatorcpin = {{traduzido \lbx@fromlang, compilado e introduzido por}% - {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}}, bytranslatorcpfo = {{traduzido \lbx@fromlang, compilado e prefaciado por}% - {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}}, bytranslatorcpaf = {{traduzido \lbx@fromlang, compilado e posfaciado por}% - {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}}, bytranslatorcpcoin = {{traduzido \lbx@fromlang, compilado, comentado e introduzido por}% - {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}}, bytranslatorcpcofo = {{traduzido \lbx@fromlang, compilado, comentado e prefaciado por}% - {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}}, bytranslatorcpcoaf = {{traduzido \lbx@fromlang, compilado, comentado e posfaciado por}% - {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}}, bytranslatorcpanin = {{traduzido \lbx@fromlang, compilado, anotado e introduzido por}% - {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}}, bytranslatorcpanfo = {{traduzido \lbx@fromlang, compilado, anotado e prefaciado por}% - {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}}, bytranslatorcpanaf = {{traduzido \lbx@fromlang, compilado, anotado e posfaciado por}% - {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}}, + {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}}, bycompilerco = {{compilado e comentado por}% {comp\adddot\ e coment\adddot}}, bycompileran = {{compilado e anotado por}% {comp\adddot\ e anot\adddot}}, bycompilerin = {{compilado e introduzido por}% - {comp\adddot\ e introd\adddot\ por}}, + {comp\adddot\ e introd\adddot}}, bycompilerfo = {{compilado e prefaciado por}% - {comp\adddot\ e pref\adddot\ por}}, + {comp\adddot\ e pref\adddot}}, bycompileraf = {{compilado e posfaciado por}% - {comp\adddot\ e posf\adddot\ por}}, + {comp\adddot\ e posf\adddot}}, bycompilercoin = {{compilado, comentado e introduzido por}% - {comp., coment\adddot\ e introd\adddot\ por}}, + {comp., coment\adddot\ e introd\adddot}}, bycompilercofo = {{compilado, comentado e prefaciado por}% - {comp., coment\adddot\ e pref\adddot\ por}}, + {comp., coment\adddot\ e pref\adddot}}, bycompilercoaf = {{compilado, comentado e posfaciado por}% - {comp., coment\adddot\ e posf\adddot\ por}}, + {comp., coment\adddot\ e posf\adddot}}, bycompileranin = {{compilado, anotado e introduzido por}% - {comp., anot\adddot\ e introd\adddot\ por}}, + {comp., anot\adddot\ e introd\adddot}}, bycompileranfo = {{compilado, anotado e prefaciado por}% - {comp., anot\adddot\ e pref\adddot\ por}}, + {comp., anot\adddot\ e pref\adddot}}, bycompileranaf = {{compilado, anotado e posfaciado por}% - {comp., anot\adddot\ e posf\adddot\ por}}, + {comp., anot\adddot\ e posf\adddot}}, + note = {{nota}{nota}}, + preface = {{pref\'acio}{pref\adddot}}, + subsection = {{\S}{\S}}, + subsections = {{\S\S}{\S\S}}, + selfpublished = {{auto-publicado}{auto-pub\adddot}}, + commenton = {{coment\'ario em}{coment\'ario em}}, + printed = {{impresso}{impresso}}, + track = {{faixa}{faixa}}, + choreographer = {{coreogr\adddot}{coreogr\adddot}}, + choreographers = {{coreogr\adddot}{coreogr\adddot}}, + cbychoreographer = {{coreograf\adddot}{coreograf\adddot}}, + bychoreographer = {{coreografado por}{coreograf\adddot}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx index 95695f1697f..74db7a87f79 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx @@ -1,18 +1,20 @@ -% $Id: cms-british.lbx,v 0.13 2018/01/09 19:00:27 dfussner Exp $ - -\ProvidesFile{cms-british.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-british.lbx}[2020/04/20 v 3.14 biblatex localization] \InheritBibliographyExtras{british} \DeclareBibliographyExtras{% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Introduction}% + \def\sectionname{Section}% + \def\subsectionname{Subsection}% + \def\forewordname{Foreword}% + \def\notesname{Notes}% \protected\def\mkjuridordinal#1{% \begingroup \@tempcnta0#1\relax\number\@tempcnta @@ -23,17 +25,17 @@ \ifcase\@tempcnta th\or st\or d\or d\else th\fi \endgroup}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% \protected\def\mkbibdatelong#1#2#3{% \iffieldundef{#3}% {}% @@ -47,69 +49,85 @@ \iffieldundef{#1}{}{\space}}% \iffieldbibstring{#1}% {\bibstring{\thefield{#1}}}% - {\stripzeros{\thefield{#1}}}}% FIXME: dateeraprintpre{#1} - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + {\cmsdateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{/}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{/}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \protected\def\mkbibseasondateshort#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibseasondatelong#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\cmsmkdecade#1#2{% + \cms@tempcnta=\thefield{#2year}% + \divide\cms@tempcnta100 + \multiply\cms@tempcnta100 + \ifnumequal{\cms@tempcnta}{\thefield{#2year}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\ifnumequal{\thefield{#2year}}{1}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\ifnumless{\thefield{#2year}}\blx@dateeraauto}% + }% + {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}% + {}}% + {}% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {\ifboolexpr{% + test {\ifdefstring\blx@dateera{christian}}% + and + test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}% + }% + {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}% + {}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\cmsdateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangefull% \restorecommand\mkdaterangeterse% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \InheritBibliographyStrings{cms-american} -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx new file mode 100644 index 00000000000..662909b8ad3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx @@ -0,0 +1,530 @@ +\ProvidesFile{cms-dutch.lbx}[2020/04/20 v 3.14 biblatex localization] + +% STATUS OF THIS FILE +% - Strings provided by native speaker Wouter Lancee. + +\InheritBibliographyExtras{dutch} + +\DeclareBibliographyExtras{% + \savecommand\cms@datelong% + \savecommand\mkdaterangecomp% + \savecommand\mkdaterangeterse% + \savecommand\mkdaterangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Inleiding}% + \def\sectionname{Sectie}% + \def\subsectionname{Subsectie}% + \def\forewordname{Voorwoord}% + \def\notesname{Noten}% + \protected\def\cmsmkdecade#1#2{% + \dateeraprintpre{#2year}% + \bibsstring{decade}% + \printdelim{dateaddelim}% + \stripzeros{\thefield{#2year}}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}% + \protected\def\cmsmkcentury#1{% + \dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% + \protected\def\mkjuridordinal{\mkbibordinal}% + \protected\def\mkdaterangecomp{% + \cms@mkbibrangetrunc{long}}% + \protected\def\mkdaterangeterse{% + \cms@mkbibrangetrunc{short}}% + \protected\def\mkdaterangefull{% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% + +\UndeclareBibliographyExtras{% + \restorecommand\cms@datelong% + \restorecommand\mkdaterangecomp% + \restorecommand\mkdaterangeterse% + \restorecommand\mkdaterangefull% + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% + +\DeclareBibliographyStrings{% + inherit = {dutch}, + afterwordto = {{nawoord van}{nawoord van}}, + forewordto = {{voorwoord van}{voorwoord van}}, + introductionto = {{inleiding van}{inleiding van}}, + partvolume = {{deel}{deel}}, + by = {{door}{door}}, + of = {{door}{door}}, + on = {{op}{op}}, + compiler = {{samengesteld door}{samengesteld door}},% + compilers = {{samengesteld door}{samengesteld door}},% + transcompiler = {{vertaald en samengesteld door}% + {vertaald en samengesteld door}}, + transcompilers ={{vertaald en geproduceerd door}% + {vertaald en geproduceerd door}}, + editortranscompiler = {{bewerkt\addcomma\addspace vertaald en samengesteld door} + {bewerkt\addcomma\addspace vertaald en samengesteld door}}, + editorcompiler = {{bewerkt en samengesteld door}% + {bewerkt en samengesteld door}}, + editortranslator = {{bewerkt en vertaald door}% + {bewerkt en vertaald door}}, + editortranscompilers = {{bewerkt\addcomma\addspace vertaald en samengesteld door}% + {bewerkt\addcomma\addspace vertaald en samengesteld door}}, + editorcompilers = {{bewerkt en samengesteld door}% + {bewerkt en samengesteld door}}, + editortranslators = {{bewerkt en vertaald door}% + {bewerkt en vertaald door}}, + conductor = {{gedirigeerd door}{gedirigeerd door}},%?? + conductors = {{gedirigeerd door}{gedirigeerd door}},%?? + director = {{gedirigeerd door}{gedirigeerd door}},%?? + directors = {{gedirigeerd door}{gedirigeerd door}}, + none = {{}{}}, + nones = {{}{}}, + producer = {{geproduceerd door}{geproduceerd door}}, + producers = {{geproduceerd door}{geproduceerd door}}, + editor = {{bewerkt door}{bewerkt door}}, + editors = {{bewerkt door}{bewerkt door}}, + ibidem = {{ibid\adddot}{id\adddot}},% Shorter for legal + origpub = {{oorspronkelijk gepubliceerd als\addspace}% + {oorspronkelijk gepubliceerd als\addspace}}, + origpublin = {{oorspronkelijk gepubliceerd in\addspace}% + {oorspronkelijk gepubliceerd in\addspace}}, + origpubyear = {{oorspronkelijk gepubliceerd in\addspace}% + {oorspronkelijk gepubliceerd in\addspace}}, + origpubyearalt = {{eerste publicatie\addspace}% + {eerste publicatie\adddot\addspace}}, + origreleaseyear = {{oorspronkelijk uitgegeven in\addspace}% + {oorspronkelijk uitgegeven in\addspace}}, + origshownyear = {{oorspronkelijk vertoond in\addspace}% + {oorspronkelijk vertoond in\addspace}}, + origedition ={{edition\addcolon\addspace}% + {bewerking\addcolon\addspace}}, + revisededition = {{gereviseerde uitgave}% + {gereviseerde uitgave}}, + broadcast = {{uitgezonden}{uitgezonden}}, + songrecorded = {{opgenomen}{opgenomen}}, + discrecorded = {{opgenomen}{opgenomen}}, + numbers = {{No\adddot}{No\adddot}}, + nodate = {{{}z\adddot d\adddot}{{}z\adddot d\adddot}}, + decade = {{jaren}{jaren}}, + century = {{eeuw}{eeuw}}, + pseudonym = {{pseud\adddot}{pseud\adddot}}, + patentfiled = {{patentaanvraag ingediend}{patentaanvraag ingediend}}, + patentissued = {{patent uitgegeven}{patent uitgegeven}}, + inlang = {{in\addspace}{in\addspace}}, + edamerican = {{Amerikaans}{Amerikaans}}, + edbrazilian = {{Braziliaans}{Braziliaans}}, + edbulgarian = {{Bulgaars}{Bulgaars}}, + edcatalan = {{Catalaans}{Catalaans}}, + edcroatian = {{Kroatisch}{Kroatisch}}, + edczech = {{Tsjechisch}{Tsjechisch}}, + eddanish = {{Deens}{Deens}}, + eddutch = {{Nederlands}{Nederlands}}, + edenglish = {{Engels}{Engels}}, + edestonian = {{Estisch}{Estisch}}, + edfinnish = {{Fins}{Fins}}, + edfrench = {{Frans}{Frans}}, + edgalician = {{Galicisch}{Galicisch}}, + edgerman = {{Duits}{Duits}}, + edgreek = {{Grieks}{Grieks}}, + editalian = {{Italiaans}{Italiaans}}, + edjapanese = {{Japans}{Japans}}, + edlatin = {{Latijn}{Latijn}}, + ednorwegian = {{Noors}{Noors}}, + edportuguese = {{Portugees}{Portugees}}, + edrussian = {{Russisch}{Russisch}}, + edslovak = {{Slowaaks}{Slowaaks}}, + edslovene = {{Sloveens}{Sloveens}}, + edspanish = {{Spaans}{Spaans}}, + edswedish = {{Zweeds}{Zweeds}}, + edukrainian = {{Oekra\"{i}ens}{Oekra\"{i}ens}}, + translator = {{vertaald door}{vertaald door}}, + translators = {{vertaald door}{vertaald door}}, + redactor = {{redactie door}{redactie door}}, + redactors = {{redactie door}{redactie door}}, + founder = {{gesticht door}{gesticht door}}, + founders = {{gesticht door}{gesticht door}}, + continuator = {{opgevolgd door}{opgevolgd door}},% ? + continuators = {{opgevolgd door}{opgevolgd door}},% ? + collaborator = {{in samenwerking met}{in samenwerking met}},% ? + collaborators = {{in samenwerking met}{in samenwerking met}},% ? + annotator = {{geannoteerd door}{geannoteerd door}}, + annotators = {{geannoteerd door}{geannoteerd door}}, + review = {{recensie}{recensie}}, + reviewof = {{recensie van}{recensie van}}, + reprint = {{herdruk}{herdruk}}, + shorthands = {{afkortingen}{afkortingen}}, + newseries = {{nieuwe serie}{nieuwe serie}}, + urlseen = {{geraadpleegd op}{geraadpleegd op}}, + cbynone = {{}{}}, + cbyauthor = {{door}{door}}, + cbyeditor = {{bewerkt door}{bewerkt door}}, + cbytranslator = {{vertaald\addspace\lbx@cfromlang\addspace door}% + {vertaald\addspace\lbx@cfromlang\addspace door}}, + cbycompiler = {{samengesteld door}{samengesteld door}}, + cbyredactor = {{redactie door}{redactie door}}, + cbycommentator = {{van commentaar voorzien door}{van commentaar voorzien door}}, + cbyannotator = {{geannoteerd door}{geannoteerd door}}, + cbyfounder = {{stichter}{stichter}}, + cbycontinuator = {{voortgezet}{voortgezet}}, + cbycollaborator = {{in samenwerking met}% + {in samenwerking met}}, + cbyconductor = {{directie}{directie}}, + cbydirector = {{directie}{directie}}, + cbyproducer = {{geproduceerd door}{geproduceerd door}}, + cbyeditortr = {{bewerkt en vertaald\addspace\lbx@cfromlang}% + {bewerkt en vertaald\addspace\lbx@cfromlang}}, + cbyeditorcp = {{bewerkt en samengesteld door}% + {bewerkt en samengesteld door}}, + cbyeditorco = {{bewerkt en van commentaar voorzien door}% + {bewerkt en van commentaar voorzien door}}, + cbyeditoran = {{bewerkt en geannoteerd door}% + {bewerkt en geannoteerd door}}, + cbyeditorin = {{bewerkt en van een inleiding voorzien door}% + {bewerkt en van een inleiding voorzien door}}, + cbyeditorfo = {{bewerkt en van een voorwoord voorzien door}% + {bewerkt en van een voorwoord voorzien door}}, + cbyeditoraf = {{bewerkt en van een nawoord voorzien door}% + {bewerkt en van een nawoord voorzien door}}, + cbyeditortrcp = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en samengesteld door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en samengesteld door}}, + cbyeditortrco = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en van commentaar voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en van commentaar voorzien door}}, + cbyeditortran = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en geannoteerd door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace en geannoteerd door}}, + cbyeditortrin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\ en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\ en van een inleiding voorzien door}}, + cbyeditortrfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace\ en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ en van een voorwoord voorzien door}}, + cbyeditortraf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace\ en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace\ en van een nawoord voorzien door}}, + cbyeditorcpco = {{bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}}, + cbyeditorcpan = {{bewerkt\addcomma\addspace samengesteld en geannoteerd door}% + {bewerkt\addcomma\addspace samengesteld en geannoteerd door}}, + cbyeditorcpin = {{bewerkt\addcomma\addspace samengesteld en van een inleiding voorzien door}% + {bewerkt\space\addcomma\addspace samengesteld en van een inleiding voorzien door}}, + cbyeditorcpfo = {{bewerkt\space\addcomma\addspace samengesteld en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van een voorwoord voorzien door}}, + cbyeditorcpaf = {{bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}}, + cbyeditorcpcoin = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door}}, + cbyeditorcpcofo = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door}}, + cbyeditorcpcoaf = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}}, + cbyeditorcpanin = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + cbyeditorcpanfo = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + cbyeditorcpanaf = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + cbyeditortrcpco = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ + samengesteld en van commentaar voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}}, + cbyeditortrcpan = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}}, + cbyeditortrcpin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}}, + cbyeditortrcpfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}}, + cbyeditortrcpaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld van een nawoord voorzien door}}, + cbyeditortrcpcoin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}}, + cbyeditortrcpcofo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}}, + cbyeditortrcpcoaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}}, + cbyeditortrcpanin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + cbyeditortrcpanfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + cbyeditortrcpanaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + cbyeditorcoin = {{bewerkt en van commentaar en een inleiding voorzien door}% + {bewerkt en van commentaar en een inleiding voorzien door}}, + cbyeditorcofo = {{bewerkt en van commentaar en een voorwoord voorzien door}% + {bewerkt en van commentaar en een voorwoord voorzien door}}, + cbyeditorcoaf = {{bewerkt en van commentaar en een nawoord voorzien door}% + {bewerkt en van commentaar en een nawoord voorzien door}}, + cbyeditoranin = {{bewerkt\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + cbyeditoranfo = {{bewerkt\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + cbyeditoranaf = {{bewerkt\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + cbyeditortrcoin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een inleiding voorzien door}}, + cbyeditortrcofo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een voorwoord voorzien door}}, + cbyeditortrcoaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een nawoord voorzien door}}, + cbyeditortranin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een inleiding voorzien door}}, + cbyeditortranfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een voorwoord voorzien door}}, + cbyeditortranaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + cbytranslatorcp = {{vertaald\addspace\lbx@fromlang\ en samengesteld door}% + {vertaald\addspace\lbx@fromlang\ en samengesteld door}}, + cbytranslatorco = {{vertaald\addspace\lbx@fromlang\ en van commentaar voorzien door}% + {vertaald\addspace\lbx@fromlang\ en van commentaar voorzien door}}, + cbytranslatoran = {{vertaald\addspace\lbx@fromlang\ en geannoteerd door}% + {vertaald\addspace\lbx@fromlang\ en geannoteerd door}}, + cbytranslatorin = {{vertaald\addspace\lbx@fromlang en van een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang en van een inleiding voorzien door}}, + cbytranslatorfo = {{vertaald\addspace\lbx@fromlang\ en van een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\ en van een voorwoord voorzien door}}, + cbytranslatoraf = {{vertaald\addspace\lbx@fromlang\ en van een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang en van een nawoord voorzien door}}, + cbytranslatorcoin = {{vertaald\addspace\lbx@fromlang\ en van commentaar en een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\ en van commentaar en een inleiding voorzien door}}, + cbytranslatorcofo = {{vertaald\addspace\lbx@fromlang\ en van commentaar en een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\ en van commentaar en een voorwoord voorzien door}}, + cbytranslatorcoaf = {{vertaald\addspace\lbx@fromlang\ en van commentaar en een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\ en van commentaar en een nawoord voorzien door}}, + cbytranslatoranin = {{vertaald\addspace\lbx@fromlang\ geannoteerd en van een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een inleiding voorzien door}}, + cbytranslatoranfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een voorwoord voorzien door}}, + cbytranslatoranaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een nawoord voorzien door}}, + cbytranslatorcpco = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien}}, + cbytranslatorcpan = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}}, + cbytranslatorcpin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}}, + cbytranslatorcpfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}}, + cbytranslatorcpaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}}, + cbytranslatorcpcoin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}}, + cbytranslatorcpcofo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}}, + cbytranslatorcpcoaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}}, + cbytranslatorcpanin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + cbytranslatorcpanfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + cbytranslatorcpanaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + cbycompilerco = {{samengesteld en van commentaar voorzien door}% + {samengesteld en van commentaar voorzien door}}, + cbycompileran = {{samengesteld en geannoteerd door}% + {samengesteld en geannoteerd door}}, + cbycompilerin = {{samengesteld en van een inleiding voorzien door}% + {samengesteld en van een inleiding voorzien door}}, + cbycompilerfo = {{samengesteld en van een voorwoord voorzien door}% + {samengesteld en van een voorwoord voorzien door}}, + cbycompileraf = {{samengesteld en van een nawoord voorzien door}% + {samengesteld en van een nawoord voorzien door}}, + cbycompilercoin = {{samengesteld en van commentaar en een inleiding voorzien door}% + {samengesteld en van commentaar en een inleiding voorzien door}}, + cbycompilercofo = {{samengesteld en van commentaar en een voorwoord voorzien door}% + {samengesteld en van commentaar en een voorwoord voorzien door}}, + cbycompilercoaf = {{samengesteld en van commentaar en een nawoord voorzien door}% + {samengesteld en van commentaar en een nawoord voorzien door}}, + cbycompileranin = {{samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien doorr}% + {samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + cbycompileranfo = {{samengesteld en geannoteerd en van een voorwoord voorzien door}% + {samengesteld en geannoteerd en van een voorwoord voorzien door}}, + cbycompileranaf = {{samengesteld en geannoteerd en van een nawoord voorzien door}% + {samengesteld en geannoteerd en van een nawoord voorzien door}}, + volume = {{vol\adddot}{vol\adddot}}, + volumes = {{vols\adddot}{vols\adddot}}, + jourvol = {{vol\adddot}{vol\adddot}}, + jourser = {{ser\adddot}{ser\adddot}}, + oldseries = {{o\adddot s\adddot}{o\adddot s\adddot}}, + edition = {{editie}{editie}}, + page = {{pag\adddot}{pag\adddot}}, + pages = {{pp\adddot}{pp\adddot}}, + column = {{kolom}{kolom}}, + columns = {{kolommen}{kolommen}}, + line = {{regel}{regel}}, + lines = {{regels}{regels}}, + paragraph = {{\P}{\P}}, + paragraphs = {{\P\P}{\P\P}}, + section = {{\S}{\S}}, + sections = {{\S\S}{\S\S}}, + canadasection = {{s\adddot}{s\adddot}},% For legal citations + canadasections = {{s\adddot}{s\adddot}},% ditto + supranote = {{noot hierboven}{noot hierboven}},% ditto (Changed) + hereinafter = {{hierna}{hierna}}, + subverbo = {{s\adddot v\adddot}{s\adddot v\adddot}}, + subverbis = {{s\adddot vv\adddot}{s\adddot vv\adddot}}, + verse = {{v\adddot}{v\adddot}}, + verses = {{vv\adddot}{vv\adddot}}, + number = {{no\adddot}{no\adddot}}, + chapter = {{hoofdstuk}{hoofdstuk}},% for legal citations + part = {{deel}{deel}},% ditto + mathesis = {{masters thesis}{masters thesis}}, + phdthesis = {{PhD\addabbrvspace dissertatie}{PhD\addabbrvspace dissertatie}}, + techreport = {{technisch verslag}{technisch verslag}}, + cfromamerican = {{uit het Amerikaans door}{uit het Americaans door}}, + cfrombrazilian = {{uit het Braziliaans door}{uit het Braziliaans door}}, + cfrombulgarian = {{uit het Bulgaars door}{uit het Bulgaars door}}, + cfromcatalan = {{uit het Catalaans door}{uit het Catalaans door}}, + cfromcroatian = {{uit het Kroatisch door}{uit het Kroatisch door}}, + cfromczech = {{uit het Tsjechisch door}{uit het Tsjechisch door}}, + cfromdanish = {{uit het Deens door}{uit het Deens door}}, + cfromdutch = {{uit het Nederlands door}{uit het Nederlands door}}, + cfromenglish = {{uit het Engels door}{uit het Engels door}}, + cfromestonian = {{uit het Estisch door}{uit het Estisch door}}, + cfromfinnish = {{uit het Fins door}{uit het Fins door}}, + cfromfrench = {{uit het Frans door}{uit het Frans door}}, + cfromgalician = {{uit het Galicisch door}{uit het Galicisch door}}, + cfromgerman = {{uit het Duits door}{uit het Duits door}}, + cfromgreek = {{uit het Grieks door}{uit het Grieks door}}, + cfromitalian = {{uit het Italiaans door}{uit het Italiaans door}}, + cfromjapanese = {{uit het Japans door}{uit het Japans door}}, + cfromlatin = {{uit het Latijn door}{uit het Latijn door}}, + cfromnorwegian = {{uit het Noors door}{uit het Noors door}}, + cfrompolish = {{uit het Pools door}{uit het Pools door}}, + cfromportuguese = {{uit het Portugees door}{uit het Portugees door}}, + cfromrussian = {{uit het Russisch door}{uit het Russisch door}}, + cfromslovak = {{uit het Slowaaks door}{uit het Slowaaks door}}, + cfromslovene = {{uit het Sloveens door}{uit het Sloveens door}}, + cfromspanish = {{uit het Spaans door}{uit het Spaans door}}, + cfromswedish = {{uit het Zweeds door}{uit het Zweeds door}}, + cfromukrainian = {{uit het Oekra\"{i}ens door}{uit het Oekra\"{i}ens door}}, + bynone = {{}{}}, + bycompiler = {{samengesteld door}{samengesteld door}}, + byconductor = {{gedirigeerd door}{gedirigeerd door}}, + bydirector = {{gedirigeerd door}{gedirigeerd door}}, + byproducer = {{geproduceerd door}{geproduceerd door}}, + byeditorcp = {{bewerkt en samengesteld door}{bewerkt en samengesteld door}}, + byeditortrcp = {{bewerkt\addcomma\addspace vertaald\lbx@fromlang en samengesteld door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ en samengesteld door}}, + byeditortrcpco = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}}, + byeditortrcpan = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}}, + byeditortrcpin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}}, + byeditortrcpfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}}, + byeditortrcpaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}}, + byeditortrcpcoin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}}, + byeditortrcpcofo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}}, + byeditortrcpcoaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}}, + byeditortrcpanin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + byeditortrcpanfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + byeditortrcpanaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace en geannoteerd en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + byeditorcpco = {{bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}}, + byeditorcpan = {{bewerkt\addcomma\addspace samengesteld en geannoteerd door}% + {bewerkt\addcomma\addspace samengesteld en geannoteerd door}}, + byeditorcpin = {{bewerkt\addcomma\addspace samengesteld en van een inleiding voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van een inleiding voorzien door}}, + byeditorcpfo = {{bewerkt\addcomma\addspace samengesteld en van een voorwoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van een voorwoord voorzien door}}, + byeditorcpaf = {{bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}}, + byeditorcpcoin = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door }% + {bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door}}, + byeditorcpcofo = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door }% + {bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door}}, + byeditorcpcoaf = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}}, + byeditorcpanin = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door }% + {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + byeditorcpanfo = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door }% + {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + byeditorcpanaf = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + bytranslatorcp = {{vertaald \lbx@fromlang\ en samengesteld door}% + {vertaald\addspace\lbx@fromlang\ en samengesteld door}}, + bytranslatorcpco = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}}, + bytranslatorcpan = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}}, + bytranslatorcpin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door }% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}}, + bytranslatorcpfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}}, + bytranslatorcpaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}}, + bytranslatorcpcoin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door }}, + bytranslatorcpcofo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}}, + bytranslatorcpcoaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}}, + bytranslatorcpanin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + bytranslatorcpanfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + bytranslatorcpanaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}}, + bycompilerco = {{samengesteld en van commentaar voorzien door}% + {samengesteld en van commentaar voorzien door}}, + bycompileran = {{samengesteld en geannoteerd door}% + {samengesteld en geannoteerd door}}, + bycompilerin = {{samengesteld en van een inleiding voorzien door}% + {samengesteld en van een inleiding voorzien door}}, + bycompilerfo = {{samengesteld en van een voorwoord voorzien door}% + {samengesteld en van een voorwoord voorzien door}}, + bycompileraf = {{samengesteld en van een nawoord voorzien door}% + {samengesteld en van een nawoord voorzien door}}, + bycompilercoin = {{samengesteld en van commentaar en een inleiding voorzien door}% + {samengesteld en van commentaar en een inleiding voorzien door}}, + bycompilercofo = {{samengesteld en van commentaar en een voorwoord voorzien door}% + {samengesteld en van commentaar en een voorwoord voorzien door}}, + bycompilercoaf = {{samengesteld en van commentaar en een nawoord voorzien door}% + {samengesteld en van commentaar en een nawoord voorzien door}}, + bycompileranin = {{samengesteld en geannoteerd en van een inleiding voorzien door}% + {samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}}, + bycompileranfo = {{samengesteld en geannoteerd en van een voorwoord voorzien door}% + {samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}}, + bycompileranaf = {{samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}% + {samengesteld\addcomma\addspace geannoteerd en van een nawoord + voorzien door}}, + circa = {{ongeveer}{ong\adddot}}, + spring = {{lente}{lente}}, + summer = {{zomer}{zomer}}, + autumn = {{herfst}{herfst}}, + winter = {{winter}{winter}}, + note = {{noot}{noot}}, + preface = {{voorwoord}{woorw\adddot}}, + subsection = {{\S}{\S}}, + subsections = {{\S\S}{\S\S}}, + selfpublished = {{zelf-gepubliceerde}{zelf-gep\adddot}}, + commenton = {{reactie op}{reactie op}}, + printed = {{gedrukt}{gedrukt}}, + track = {{nummer}{nummer}}, + choreographer = {{choreogr\adddot}{choreogr\adddot}}, + choreographers = {{choreogr\adddot}{choreogr\adddot}}, + cbychoreographer = {{gechoreograf\adddot}{gechoreograf\adddot}}, + bychoreographer = {{gechoreografeerd door}{gechoreograf\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx index bb8be1c19e7..571b232b77b 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx @@ -1,6 +1,4 @@ -% $Id: cms-finnish.lbx,v 0.13 2018/01/09 19:01:03 dfussner Exp $ - -\ProvidesFile{cms-finnish.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-finnish.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Antti-Juhani Kaijanaho). @@ -14,14 +12,18 @@ \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% \savecommand\lbx@fromlang% \savecommand\lbx@lfromlang% \savecommand\lbx@sfromlang% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% + \def\introductionname{Johdanto}% + \def\sectionname{Kohta}% These 2 highly uncertain + \def\subsectionname{Kappale}% + \def\forewordname{Esipuhe}% + \def\notesname{Viitteet}% ? \def\lbx@fromlang{% \iffieldundef{userf}% {\iflistundef{origlanguage}% @@ -40,257 +42,68 @@ {}% {\printlist[sfromoriglanguage]{origlanguage}\addspace}}% {}}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}% + \def\cms@datelong#1{\csname print#1date\endcsname}% \protected\def\mkjuridordinal{\mkbibordinal}% + \protected\def\cmsmkdecade#1#2{% + \cms@tempcnta=\thefield{#2year}% + \divide\cms@tempcnta100 + \multiply\cms@tempcnta100 + \ifnumequal{\cms@tempcnta}{\thefield{#2year}}% Disambiguation of -luku + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\ifnumequal{\thefield{#2year}}{1}% + {\printtext{I vuosikymmen}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {\printtext{I vuosisata}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\csuse{mkbibdatelong}{#1year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% \protected\def\mkdaterangecomp{% DATE FIX - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% DATE FIX - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}}% \UndeclareBibliographyExtras{% \restorecommand\lbx@fromlang% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% DATE FIX \restorecommand\mkdaterangeterse% \restorecommand\mkdaterangefull% - \restorecommand\mkbibrangecomp% DATE FIX - \restorecommand\mkbibrangeterse% - \restorecommand\mkbibrangefull}% - -\NewBibliographyString{bynone} -% \NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -% \NewBibliographyString{byproducer} -% \NewBibliographyString{byeditorcp} -% \NewBibliographyString{byeditortrcp} -% \NewBibliographyString{byeditortrcpco} -% \NewBibliographyString{byeditortrcpan} -% \NewBibliographyString{byeditortrcpin} -% \NewBibliographyString{byeditortrcpfo} -% \NewBibliographyString{byeditortrcpaf} -% \NewBibliographyString{byeditortrcpcoin} -% \NewBibliographyString{byeditortrcpcofo} -% \NewBibliographyString{byeditortrcpcoaf} -% \NewBibliographyString{byeditortrcpanin} -% \NewBibliographyString{byeditortrcpanfo} -% \NewBibliographyString{byeditortrcpanaf} -% \NewBibliographyString{byeditorcpco} -% \NewBibliographyString{byeditorcpan} -% \NewBibliographyString{byeditorcpin} -% \NewBibliographyString{byeditorcpfo} -% \NewBibliographyString{byeditorcpaf} -% \NewBibliographyString{byeditorcpcoin} -% \NewBibliographyString{byeditorcpcofo} -% \NewBibliographyString{byeditorcpcoaf} -% \NewBibliographyString{byeditorcpanin} -% \NewBibliographyString{byeditorcpanfo} -% \NewBibliographyString{byeditorcpanaf} -% \NewBibliographyString{bytranslatorcp} -% \NewBibliographyString{bytranslatorcpco} -% \NewBibliographyString{bytranslatorcpan} -% \NewBibliographyString{bytranslatorcpin} -% \NewBibliographyString{bytranslatorcpfo} -% \NewBibliographyString{bytranslatorcpaf} -% \NewBibliographyString{bytranslatorcpcoin} -% \NewBibliographyString{bytranslatorcpcofo} -% \NewBibliographyString{bytranslatorcpcoaf} -% \NewBibliographyString{bytranslatorcpanin} -% \NewBibliographyString{bytranslatorcpanfo} -% \NewBibliographyString{bytranslatorcpanaf} -% \NewBibliographyString{bycompilerco} -% \NewBibliographyString{bycompileran} -% \NewBibliographyString{bycompilerin} -% \NewBibliographyString{bycompilerfo} -% \NewBibliographyString{bycompileraf} -% \NewBibliographyString{bycompilercoin} -% \NewBibliographyString{bycompilercofo} -% \NewBibliographyString{bycompilercoaf} -% \NewBibliographyString{bycompileranin} -% \NewBibliographyString{bycompileranfo} -% \NewBibliographyString{bycompileranaf} -% \NewBibliographyString{cbynone} -% \NewBibliographyString{cbyauthor} -% \NewBibliographyString{cbyeditor} -% \NewBibliographyString{cbytranslator} -% \NewBibliographyString{cbycompiler} -% \NewBibliographyString{cbyredactor} -% \NewBibliographyString{cbycommentator} -% \NewBibliographyString{cbyannotator} -% \NewBibliographyString{cbyfounder} -% \NewBibliographyString{cbycontinuator} -% \NewBibliographyString{cbycollaborator} -% \NewBibliographyString{cbyconductor} -% \NewBibliographyString{cbydirector} -% \NewBibliographyString{cbyproducer} -% \NewBibliographyString{cbyeditortr} -% \NewBibliographyString{cbyeditorcp} -% \NewBibliographyString{cbyeditorco} -% \NewBibliographyString{cbyeditoran} -% \NewBibliographyString{cbyeditorin} -% \NewBibliographyString{cbyeditorfo} -% \NewBibliographyString{cbyeditoraf} -% \NewBibliographyString{cbyeditortrcp} -% \NewBibliographyString{cbyeditortrco} -% \NewBibliographyString{cbyeditortran} -% \NewBibliographyString{cbyeditortrin} -% \NewBibliographyString{cbyeditortrfo} -% \NewBibliographyString{cbyeditortraf} -% \NewBibliographyString{cbyeditortrcpco} -% \NewBibliographyString{cbyeditortrcpan} -% \NewBibliographyString{cbyeditortrcpin} -% \NewBibliographyString{cbyeditortrcpfo} -% \NewBibliographyString{cbyeditortrcpaf} -% \NewBibliographyString{cbyeditorcoin} -% \NewBibliographyString{cbyeditorcofo} -% \NewBibliographyString{cbyeditorcoaf} -% \NewBibliographyString{cbyeditoranin} -% \NewBibliographyString{cbyeditoranfo} -% \NewBibliographyString{cbyeditoranaf} -% \NewBibliographyString{cbyeditortrcoin} -% \NewBibliographyString{cbyeditortrcofo} -% \NewBibliographyString{cbyeditortrcoaf} -% \NewBibliographyString{cbyeditortranin} -% \NewBibliographyString{cbyeditortranfo} -% \NewBibliographyString{cbyeditortranaf} -% \NewBibliographyString{cbyeditortrcpcoin} -% \NewBibliographyString{cbyeditortrcpcofo} -% \NewBibliographyString{cbyeditortrcpcoaf} -% \NewBibliographyString{cbyeditortrcpanin} -% \NewBibliographyString{cbyeditortrcpanfo} -% \NewBibliographyString{cbyeditortrcpanaf} -% \NewBibliographyString{cbyeditorcpco} -% \NewBibliographyString{cbyeditorcpan} -% \NewBibliographyString{cbyeditorcpin} -% \NewBibliographyString{cbyeditorcpfo} -% \NewBibliographyString{cbyeditorcpaf} -% \NewBibliographyString{cbyeditorcpcoin} -% \NewBibliographyString{cbyeditorcpcofo} -% \NewBibliographyString{cbyeditorcpcoaf} -% \NewBibliographyString{cbyeditorcpanin} -% \NewBibliographyString{cbyeditorcpanfo} -% \NewBibliographyString{cbyeditorcpanaf} -% \NewBibliographyString{cbytranslatorcp} -% \NewBibliographyString{cbytranslatorco} -% \NewBibliographyString{cbytranslatoran} -% \NewBibliographyString{cbytranslatorin} -% \NewBibliographyString{cbytranslatorfo} -% \NewBibliographyString{cbytranslatoraf} -% \NewBibliographyString{cbytranslatorcpco} -% \NewBibliographyString{cbytranslatorcpan} -% \NewBibliographyString{cbytranslatorcpin} -% \NewBibliographyString{cbytranslatorcpfo} -% \NewBibliographyString{cbytranslatorcpaf} -% \NewBibliographyString{cbytranslatorcoin} -% \NewBibliographyString{cbytranslatorcofo} -% \NewBibliographyString{cbytranslatorcoaf} -% \NewBibliographyString{cbytranslatoranin} -% \NewBibliographyString{cbytranslatoranfo} -% \NewBibliographyString{cbytranslatoranaf} -% \NewBibliographyString{cbytranslatorcpcoin} -% \NewBibliographyString{cbytranslatorcpcofo} -% \NewBibliographyString{cbytranslatorcpcoaf} -% \NewBibliographyString{cbytranslatorcpanin} -% \NewBibliographyString{cbytranslatorcpanfo} -% \NewBibliographyString{cbytranslatorcpanaf} -% \NewBibliographyString{cbycompilerco} -% \NewBibliographyString{cbycompileran} -% \NewBibliographyString{cbycompilerin} -% \NewBibliographyString{cbycompilerfo} -% \NewBibliographyString{cbycompileraf} -% \NewBibliographyString{cbycompilercoin} -% \NewBibliographyString{cbycompilercofo} -% \NewBibliographyString{cbycompilercoaf} -% \NewBibliographyString{cbycompileranin} -% \NewBibliographyString{cbycompileranfo} -% \NewBibliographyString{cbycompileranaf} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -% \NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -% \NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -% \NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -% \NewBibliographyString{origreleaseyear} -% \NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled} -\NewBibliographyString{patentissued} -\NewBibliographyString{inlang} -% \NewBibliographyString{langrussian} -% \NewBibliographyString{fromrussian} -% \NewBibliographyString{edamerican} -% \NewBibliographyString{edbrazilian} -% \NewBibliographyString{eddanish} -% \NewBibliographyString{eddutch} -% \NewBibliographyString{edenglish} -% \NewBibliographyString{edfrench} -% \NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -% \NewBibliographyString{editalian} -% \NewBibliographyString{edlatin} -% \NewBibliographyString{ednorwegian} -% \NewBibliographyString{edportuguese} -% \NewBibliographyString{edrussian} -% \NewBibliographyString{edspanish} -% \NewBibliographyString{edswedish} -% \NewBibliographyString{review} -\NewBibliographyString{reviewof} -% \NewBibliographyString{section} -% \NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -% \NewBibliographyString{compiler} -% \NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -% \NewBibliographyString{director} -% \NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -% \NewBibliographyString{producer} -% \NewBibliographyString{producers} -% \NewBibliographyString{transcompiler} -% \NewBibliographyString{transcompilers} -% \NewBibliographyString{editortranscompiler} -% \NewBibliographyString{editorcompiler} -% \NewBibliographyString{editortranslator} -% \NewBibliographyString{editortranscompilers} -% \NewBibliographyString{editorcompilers} -% \NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {finnish}, afterwordto = {{j\"alkipuhe teokselle}{j\"alkipuhe teokselle}}, % forewordto = {{foreword to}{forew\adddot\space to}}, - introductionto = {{johdanto teoksessa}{johdanto\adddot\space teoksessa}}, + introductionto = {{johdanto teoksessa}{johdanto teoksessa}}, partvolume = {{osa}{osa}}, - by = {{kirjoittanut}{kirjoittanut}}, + by = {{}{}}, % of = {{of}{of}}, on = {{levyll\"a}{levyll\"a}}, % compiler = {{comp\adddot}{comp\adddot}}, @@ -325,6 +138,8 @@ % producers = {{prods\adddot}{prods\adddot}}, % editor = {{toim\adddot}{toim\adddot}}, % editors = {{toimm\adddot}{toimm\adddot}}, + choreographer = {{koreografi}{koreografi}},% ?? + choreographers = {{koreografit}{koreografit}},% ?? % ibidem = {{ibid\adddot}{ibid\adddot}}, origpub = {{alkuper\"ainen julkaisu\addspace}% {alkup\adddot\ julk\adddot\ as\addspace}}, @@ -347,6 +162,8 @@ discrecorded = {{taltioitu}{taltioitu}}, numbers = {{not\adddot}{not\adddot}}, nodate = {{{}n\adddot d\adddot}{{}n\adddot d\adddot}}, + decade = {{-luku}{-luku}}, + century = {{-luku}{-luku}}, pseudonym = {{salanimi}{salan\adddot}}, patentfiled = {{haettu}{haettu}}, patentissued = {{my\"onnetty}{my\"onnetty}}, @@ -382,13 +199,16 @@ % annotators = {{annot\adddot}{annot\adddot}}, % review = {{review}{review}}, reviewof = {{arvio teoksesta}{arvio teoksesta}}, + commenton = {{kommentti}{kommentti}},% ?? % reprint = {{reprint}{repr\adddot}}, + printed = {{painettu}{painettu}},% ?? + selfpublished = {{omajulkaisu}{omajulk\adddot}}, % shorthands = {{Abbreviations}{Abbreviations}}, % newseries = {{n\adddot s\adddot}{n\adddot s\adddot}}, % urlseen = {{accessed}{accessed}}, % cbynone = {{}{}}, - % cbyauthor = {{by}{by}}, - % cbyeditor = {{ed\adddot}{ed\adddot}}, + cbyauthor = {{kirj\adddot}{kirj\adddot}}, + cbyeditor = {{toim\adddot}{toim\adddot}}, % cbytranslator = {{trans\adddot\addspace\lbx@cfromlang}% % {trans\adddot\addspace\lbx@cfromlang}}, % cbycompiler = {{comp\adddot}{comp\adddot}}, @@ -402,6 +222,7 @@ % cbyconductor = {{johtaa}{joht\adddot}}, % cbydirector = {{dir\adddot}{dir\adddot}}, % cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{koreografi}{koreografi}},% ?? % cbyeditortr = {{ed\adddot\space and % trans\adddot\addspace\lbx@cfromlang}% % {ed\adddot\space and trans\adddot\addspace\lbx@cfromlang}}, @@ -675,6 +496,10 @@ % paragraphs = {{\P\P}{\P\P}}, % section = {{\S}{\S}}, % sections = {{\S\S}{\S\S}}, + subsection = {{kappale}{kappale}},% These 3 extremely uncertain + subsections = {{kappaleet}{kappaleet}}, + preface = {{esipuhe}{esipuhe}}, + note = {{viite}{viite}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace viite\addnbspace}% ditto @@ -686,6 +511,7 @@ % verses = {{vv\adddot}{vv\adddot}}, % number = {{no\adddot}{no\adddot}}, % chapter = {{chap\adddot}{chap\adddot}}, + track = {{kappale}{kappale}},% ?? % mathesis = {{master's thesis}{master's thesis}}, % phdthesis = {{PhD\addabbrvspace diss\adddot}{PhD\addabbrvspace diss\adddot}}, % techreport = {{technical report}{technical report}}, @@ -712,6 +538,7 @@ byconductor = {{johtaa}{joht.\adddot}}, bydirector = {{ohjannut}{ohj\adddot}}, % byproducer = {{produced by}{prod\adddot}}, + bychoreographer = {{koreografi}{koreografi}},% ?? % byeditorcp = {{edited and compiled by}{ed\adddot\space and comp\adddot}}, % byeditortrcp = {{edited, translated \lbx@fromlang, and compiled by}% % {ed.,\addabbrvspace trans.\addspace\lbx@fromlang, and comp\adddot}}, @@ -852,53 +679,4 @@ % {comp\adddot\space and annot\adddot, with an afterword, by}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx index aae7f702bba..c2a6b664921 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx @@ -1,6 +1,4 @@ -% $Id: cms-french.lbx,v 0.9.5.39 2018/01/10 16:38:12 dfussner Exp $ - -\ProvidesFile{cms-french.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-french.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Some strings still missing @@ -16,294 +14,67 @@ \savecommand\mkbibnamefamily% \protected\def\mkbibnamefamily#1{\textnohyphenation{#1}}% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Introduction}% + \def\sectionname{Section}% + \def\subsectionname{Paragraphe}% + \def\forewordname{Pr\'eface}% + \def\notesname{Notes}% \protected\def\mkjuridordinal{\mkbibordinal}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \protected\def\cmsmkdecade#1#2{% + \dateeraprintpre{#2year}% + \bibsstring{decade}% + \printdelim{dateaddelim}% + \stripzeros{\thefield{#2year}}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {\csuse{mkcmscentury}[er]{#1year}}% + {\dateeraprintpre{#1year}% + \csuse{mkcmscentury}[e]{#1year}}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury[#1]#2{% + \textsc{\romannumeral\numexpr\thefield{#2}/100+1}% + \raise.45ex\hbox{\scriptsize #1}}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\postvolpunct% \restorecommand\mkbibnamefamily% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \togglefalse{cms@postposit}% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangeterse% \restorecommand\mkdaterangefull% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbyeditoralt} % To cope with \smartof issues -\NewBibliographyString{byeditoralt} % in \partedit command. -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -\NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded}% 2 strings to allow matching gender -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {french}, @@ -340,6 +111,8 @@ producers = {{prod\adddot}{prod\adddot}}, editor = {{\'ed\adddot}{\'ed\adddot}}, editors = {{\'eds\adddot}{\'eds\adddot}}, + choreographer = {{chor\'egr\adddot}{chor\'egr\adddot}}, + choreographers = {{chor\'egrs\adddot}{chor\'egrs\adddot}}, ibidem = {{ibid\adddot}{ibid\adddot}}, origpub = {{originellement publi\'e comme}% {origin\adddot\ publ\adddot\ comme}}, @@ -361,6 +134,8 @@ discrecorded = {{enregistr\'e}{enregistr\'e}}, numbers = {{n\textsuperscript{os}}{n\textsuperscript{os}}},% ? nodate = {{{}s\adddot d\adddot}{{}s\adddot d\adddot}},% ? + decade = {{ann\'ees}{ann\'ees}}, + century = {{si\`ecle}{s\adddot}}, pseudonym = {{pseudonym}{pseudonym}},% ? patentfiled = {{d\'epos\'e}{d\'epos\'e}}, patentissued = {{d\'elivr\'e}{d\'elivr\'e}}, @@ -406,7 +181,10 @@ annotators = {{annot\adddot}{annot\adddot}}, review = {{critique}{critique}}, reviewof = {{critique de}{critique de}}, + commenton = {{commentaire sur}{commentaire sur}}, reprint = {{r\'eimpression}{r\'eimpr\adddot}}, + printed = {{imprim\'e}{imprim\'e}}, + selfpublished = {{auto-publi\'e}{auto-publ\adddot}}, shorthands = {{Sigles}{Sigles}}, newseries = {{nouv\adddot\ s\'er\adddot}{nouv\adddot\ s\'er\adddot}}, @@ -429,6 +207,7 @@ {sous la dir\adddotspace\smartof}}, cbydirector = {{r\'eal\adddot}{r\'eal\adddot}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{chor\'egr\adddot}{chor\'egr\adddot}}, cbyeditortr = {{\'ed\adddotspace \'etablie et trad\adddot\ \lbx@cfromlang}{\'ed\adddotspace \'etablie et trad\adddot\ \lbx@cfromlang}}, @@ -677,6 +456,10 @@ paragraphs = {{par\adddot}{par\adddot}}, section = {{\S}{\S}}, sections = {{\S\S}{\S\S}}, + subsection = {{\S}{\S}}, + subsections = {{\S\S}{\S\S}}, + preface = {{pr\'eface}{pr\'ef\adddot}}, + note = {{note}{note}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto @@ -688,6 +471,7 @@ verses = {{v\adddot}{v\adddot}}, number = {{n\textsuperscript{o}}{n\textsuperscript{o}}}, chapter = {{chap\adddot}{chap\adddot}}, + track = {{titre}{titre}}, mathesis = {{m\'emoire de ma\^{\i}trise}{m\'emoire de ma\^{\i}trise}}, phdthesis = {{th\`ese de doct\adddot}{th\`ese de doct\adddot}}, techreport = {{rapport technique}{rapport technique}}, @@ -724,6 +508,7 @@ {sous la dir\adddotspace\smartof}}, bydirector = {{r\'ealis\'e par}{r\'eal\adddot}}, byproducer = {{produit par}{prod\adddot}}, + bychoreographer = {{chor\'egraphi\'e par}{chor\'egr\adddot}}, byeditorcp = {{\'edition \'etablie et compil\'ee par}% {\'ed\adddotspace \'etablie et comp\adddot}}, byeditortrcp = {{\'edition \'etablie, traduite \lbx@fromlang\ et @@ -857,53 +642,4 @@ par}{comp\adddot, annot\adddot\ et postf\adddot}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx index 73ac2cd225e..7bf991606ca 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx @@ -1,6 +1,4 @@ -% $Id: cms-german.lbx,v 0.9.5.36 2018/01/09 19:01:32 dfussner Exp $ - -\ProvidesFile{cms-german.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-german.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated strings and formatting decisions need review by native @@ -12,14 +10,18 @@ \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% \savecommand\lbx@fromlang% \savecommand\lbx@lfromlang% \savecommand\lbx@sfromlang% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% + \def\introductionname{Einleitung}% + \def\sectionname{Paragraph}% + \def\subsectionname{Absatz}% + \def\forewordname{Vorwort}% + \def\notesname{Anmerkungen}% \protected\def\mkjuridordinal{\mkbibordinal}% \def\lbx@fromlang{% \iffieldundef{userf}% @@ -39,258 +41,49 @@ {}% {\printlist[sfromoriglanguage]{origlanguage}\addspace}}% {}}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}% + \def\cms@datelong#1{\csname print#1date\endcsname}% + \protected\def\cmsmkdecade#1#2{% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\cmsmkcentury#1{% + \dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% \protected\def\mkdaterangecomp{% DATE FIX - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% DATE FIX - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% +}% \UndeclareBibliographyExtras{% \restorecommand\lbx@fromlang% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangeterse% \restorecommand\mkdaterangefull% - \restorecommand\mkbibrangecomp% DATE FIX - \restorecommand\mkbibrangeterse% - \restorecommand\mkbibrangefull}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled} -\NewBibliographyString{patentissued} -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {german}, @@ -332,6 +125,8 @@ producers = {{Prod\adddot}{Prod\adddot}}, editor = {{Hrsg\adddot}{Hrsg\adddot}}, editors = {{Hrsg\adddot}{Hrsg\adddot}}, + choreographer = {{Choreograph}{Choreograph}}, + choreographers = {{Choreografen}{Choreografen}}, ibidem = {{ebd\adddot}{ebd\adddot}}, origpub = {{urspr\"unglich ver\"offentlicht als}% {urspr\adddot\ ver\"offtl\adddot\ als}}, @@ -356,15 +151,16 @@ % translationof = {{}{}},% FIXME: missing % translationas = {{}{}},% FIXME: missing % translationfrom = {{}{}},% FIXME: missing -% reviewof = {{}{}},% FIXME: missing origpubas = {{urspr\"unglich ver\"offentlicht als}% {urspr\adddot\ ver\"offtl\adddot\ als}},% FIXME - origpubin = {{urspr\"unglich ver\"offentlicht im Jahr\addspace}% - {urspr\adddot\ ver\"offtl\adddot\addspace}},% FIXME + origpubin = {{urspr\"unglich ver\"offentlicht im Jahr}% + {urspr\adddot\ ver\"offtl\adddot}},% FIXME astitle = {{als}{als}},% FIXME bypublisher = {{von}{von}},% FIXME numbers = {{Nrn\adddot}{Nrn\adddot}}, nodate = {{{}o\adddot Dat\adddot}{{}o\adddot Dat\adddot}},% ? + decade = {{er}{er}}, + century = {{Jahrhundert}{Jh\adddot}}, pseudonym = {{Pseud\adddot}{Pseud\adddot}}, patentfiled = {{eingereicht}{eingereicht}},% Are these 2 correct? patentissued = {{erteilt}{erteilt}},% ? @@ -410,7 +206,10 @@ annotators = {{Erl\"aut\adddot}{Erl\"aut\adddot}}, review = {{Rezension}{Rezension}}, reviewof = {{Rezension des}{Rezension des}}, + commenton = {{Kommentar zu}{Kommentar zu}}, reprint = {{Nachdruck}{Nachdr\adddot}}, + printed = {{gedruckt}{gedruckt}}, + selfpublished = {{selbst ver\"offentlicht}{selbst ver\"offtl\adddot}}, shorthands = {{Sigel}{Sigel}}, newseries = {{n.\,F\adddot}{n.\,F\adddot}}, cbynone = {{}{}}, @@ -429,6 +228,8 @@ cbyconductor = {{dir\adddot}{dir\adddot}}, cbydirector = {{unter der Reg\adddot\ von}{unter der Reg\adddot\ von}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{choreograph\adddotspace von}% + {choreograph\adddotspace von}}, cbyeditortr = {{hrsg\adddot\addabbrvspace und \lbx@fromlang \"ubers\adddot}% {hrsg\adddot\addabbrvspace und \lbx@fromlang \"ubers\adddot}}, @@ -794,6 +595,10 @@ paragraphs = {{Abs\adddot}{Abs\adddot}}, section = {{\S}{\S}}, sections = {{\S\S}{\S\S}}, + subsection = {{Abs\adddot}{Abs\adddot}}, + subsections = {{Abs\adddot}{Abs\adddot}}, + preface = {{Vorwort}{Vorw\adddot}}, + note = {{Anmerkung}{Anm\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace Anmerkung\addnbspace}% ditto @@ -805,6 +610,7 @@ verses = {{V\adddot}{V\adddot}}, number = {{Nr\adddot}{Nr\adddot}}, chapter = {{Kap\adddot}{Kap\adddot}}, + track = {{Track}{Track}}, mathesis = {{Magisterarbeit}{Magisterarbeit}}, phdthesis = {{Diss\adddot}{Diss\adddot}}, techreport = {{Technischer Bericht}{Technischer Bericht}}, @@ -813,6 +619,7 @@ byconductor = {{dirigiert von}{dir\adddot}}, bydirector = {{unter der Regie von}{unter der Reg\adddot\ von}}, byproducer = {{produziert von}{prod\adddot}}, + bychoreographer = {{choreographiert von}{choreograph\adddotspace von}}, byeditorcp = {{herausgegeben und zusammengestellt von}% {hrsg\adddot\addabbrvspace und zusammengest\adddot}}, byeditortrcp = {{herausgegeben, \lbx@fromlang \"ubersetzt und @@ -1001,53 +808,4 @@ vers\adddot\ von}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx index fbc5d3781d0..0524c160d84 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx @@ -1,6 +1,4 @@ -% $Id: cms-icelandic.lbx,v 0.16 2018/01/09 19:01:57 dfussner Exp $ - -\ProvidesFile{cms-icelandic.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-icelandic.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Baldur Kristinsson). @@ -8,276 +6,140 @@ % - Many bibstrings remain untranslated. % - Needs fine tuning, since declension of Icelandic nouns (names + titles) % makes straight translations difficult in some cases. -% - Last worked on: 2012-06-15 +% - Last worked on: 2019-11-07 % - Date handling altered by dfussner, along with a few other small -% fixes. I have added placeholders for 9 audio-visual strings, but -% need help from a native speaker to provide the actual strings. -% See "bydirector," "cbydirector," "byconductor," "cbyconductor," -% "byproducer," "cbyproducer," "broadcast," "songrecorded," -% "discrecorded," and "on." +% fixes. I have attempted to make the new decade, century, season, +% and dateuncertain code as grammatically correct as I can, but all +% fixes would be gratefully received. I have added guesses for many +% strings, but need help from a native speaker to provide better +% ones. See "bydirector," "cbydirector," "byconductor," +% "cbyconductor," "byproducer," "cbyproducer," "broadcast," +% "songrecorded," "discrecorded," "on," "selfpublished," +% "commenton," "printed," "track," "choreographer," +% "choreographers," "cbychoreographer," and "bychoreographer." \InheritBibliographyExtras{icelandic} \DeclareBibliographyExtras{% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Inngangur}% + \def\sectionname{Grein}% + \def\subsectionname{M\'alsgrein}% + \def\forewordname{Form\'ali}% + \def\notesname{Athugasemdir}% \protected\def\mkjuridordinal{\mkbibordinal}% + %%% The following code attempts to take account of the grammatical + %%% complexity of season presentation in Icelandic. Corrections + %%% gratefully received. + \protected\def\mkbibseasondateshort#1#2{% + \begingroup + \let\cms@tempa\@empty + \blx@ifstrendswith{#2}{endseason}% + {\blx@stripfromendinto{#2}{endseason}\cms@datetype% + \def\cms@tempa{end}}% + {\blx@stripfromendinto{#2}{season}\cms@datetype}% + \ifboolexpr{% + test {\ifdateyearsequal{\csuse{cms@datetype}}% + {\csuse{cms@datetype}end}}% + and + not test {\iffieldsequal{\csuse{cms@datetype}season}% + {\csuse{cms@datetype}endseason}}% + }% + {\ifdefstring{\cms@tempa}{end}% + {\bibsstring{\thefield{#2}}}% + {\biblstring{\thefield{#2}}}}% + {\ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND% + \iffieldundef{\csuse{cms@datetype}endyear}}% + {\biblstring{\thefield{#2}}}% + {\bibsstring{\thefield{#2}}}}\endgroup% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibseasondatelong#1#2{% + \begingroup + \let\cms@tempa\@empty + \blx@ifstrendswith{#2}{endseason}% + {\blx@stripfromendinto{#2}{endseason}\cms@datetype% + \def\cms@tempa{end}}% + {\blx@stripfromendinto{#2}{season}\cms@datetype}% + \ifboolexpr{% + test {\ifdateyearsequal{\csuse{cms@datetype}}% + {\csuse{cms@datetype}end}}% + and + not test {\iffieldsequal{\csuse{cms@datetype}season}% + {\csuse{cms@datetype}endseason}}% + }% + {\ifdefstring{\cms@tempa}{end}% + {\bibsstring{\thefield{#2}}}% + {\biblstring{\thefield{#2}}}}% + {\ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND% + \iffieldundef{\csuse{cms@datetype}endyear}}% + {\biblstring{\thefield{#2}}}% + {\bibsstring{\thefield{#2}}}}\endgroup% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\cmsmkdecade#1#2{% A bulky presentation - the plain + \cms@tempcnta=\thefield{#2year}% year range may be better. + \cms@tempcntb=\cms@tempcnta% + \divide\cms@tempcnta100 + \multiply\cms@tempcnta100 + \advance\cms@tempcntb-\cms@tempcnta + \divide\cms@tempcnta100 + \advance\cms@tempcnta\@ne + \divide\cms@tempcntb10 + \advance\cms@tempcntb\@ne + \ifnumequal{\thefield{#2year}}{1}% + {}% + {\dateeraprintpre{#2year}}% + \mkbibordinal{\the\cms@tempcntb}% + \addspace% + \bibsstring{decade}% + \addspace% + \mkbibordinal{\the\cms@tempcnta}% + \addspace% + \biblstring{century}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\cmsmkcentury#1{% + \dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% + \protected\def\mkdaterangecompextra{% + \lbx@cms@mkyearrangeextra@is[]{long}}% + \protected\def\mkdaterangeterseextra{% + \lbx@cms@mkyearrangeextra@is[]{short}}% + \protected\def\mkdaterangefullextra{% + \lbx@cms@mkyearrangeextra@is[1]}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \lbx@cms@mkbibrangetrunc@is{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \lbx@cms@mkbibrangetrunc@is{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \lbx@cms@mkbibrangefull@is}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangefull% \restorecommand\mkdaterangeterse% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled} -\NewBibliographyString{patentissued} -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -% \NewBibliographyString{edbulgarian} -% \NewBibliographyString{edcatalan} -% \NewBibliographyString{edcroatian} -% \NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -% \NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -% \NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -% \NewBibliographyString{edslovak} -% \NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -% \NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {icelandic}, @@ -287,7 +149,7 @@ partvolume = {{hl\adddot}{hl\adddot}}, by = {{eftir}{eftir}}, of = {{af}{af}}, -% on = {{}{}}, + on = {{\'a}{\'a}}, compiler = {{ritstj\adddot}{ritstj\adddot}},% Same as editor compilers = {{ritstj\adddot}{ritstj\adddot}}, transcompiler = {{ritstj\adddot\addabbrvspace og \'y\adddot}% @@ -310,14 +172,16 @@ directors = {{leikstj\adddot}{leikstj\adddot}}, none = {{}{}}, nones = {{}{}}, - producer = {{framleiandi}{framl\adddot}}, - producers = {{framleiendur}{framl\adddot}}, + producer = {{framl\adddot}{framl\adddot}}, + producers = {{framl\adddot}{framl\adddot}}, editor = {{ritstj\adddot}{ritstj\adddot}}, editors = {{ritstj\adddot}{ritstj\adddot}}, + choreographer = {{dansh\"of\adddot}{dansh\"of\adddot}}, + choreographers = {{dansh\"of\adddot}{dansh\"of\adddot}}, ibidem = {{sama heimild}{s\adddot h\adddot}}, origpub = {{upphaflega birt sem}% {upph\adddot\ birt sem}}, - origpublin = {{birtist upphaflega \'{\i}}% + origpubin = {{birtist upphaflega \'{\i}}% {birtist upph\adddot \'{\i}}}, origpubyear = {{birtist upphaflega \'ari}% {birtist upph\adddot\ \'ari}}, @@ -329,11 +193,13 @@ {\'utg\adddot\addcolon}}, revisededition = {{endurskou \'utg\'afa}% {endursk\adddot \'utg\adddot}}, -% broadcast = {{}{}}, -% songrecorded = {{}{}}, -% discrecorded = {{}{}}, + broadcast = {{\'utvarps\th\'attur}{\'utvarps\th\'attur}}, + songrecorded = {{skr\'a\dh}{skr\'a\dh}}, + discrecorded = {{skr\'a\dh}{skr\'a\dh}}, numbers = {{nr\adddot}{nr\adddot}}, nodate = {{\'an \'ars}{\'an \'ars}}, + decade = {{\'aratugur}{\'aratugur}}, + century = {{aldar}{\"oldin}}, pseudonym = {{dulnefni}{dulnefni}}, patentfiled = {{lagt fram til skr\'aningar}{lagt fram til skr\'aningar}},% patentissued = {{veitt}{veitt}},% ? @@ -370,7 +236,10 @@ annotators = {{me sk\'yringum eftir}{me sk\'yringum eftir}}, review = {{ritd\'omur}{ritd\'omur}}, reviewof = {{ritd\'omur um}{ritd\'omur um}}, + commenton = {{athugasemd\ \'a}{athugasemd\ \'a}}, reprint = {{endurprentun}{endurpr\adddot}}, + printed = {{prentu\dh}{prentu\dh}}, + selfpublished = {{sj\'alfst\ae tt birt}{sj\'alfst\ae tt birt}}, shorthands = {{skammstafanir}{skammstafanir}}, newseries = {{n\'y ritr\"o}{n\adddot rr\adddot}}, bynone = {{}{}}, @@ -385,9 +254,10 @@ {\'y\adddot\addspace\lbx@sfromlang}},% cbycommentator = {{sk\'yringar:}{sk\'yringar:}}, cbyannotator = {{sk\'yringar:}{sk\'yringar:}}, -% cbyconductor = {{}{}}, -% cbydirector = {{}{}}, -% cbyproducer = {{}{}}, + cbyconductor = {{stj\'orn\adddot}{stj\'orn\adddot}}, + cbydirector = {{leikst\adddot}{leikst\adddot}}, + cbyproducer = {{framl\adddot}{framl\adddot}}, + cbychoreographer = {{dansverk af}{dansverk af}}, cbyeditortr = {{\'utg.~og \'y\adddot \lbx@lfromlang}% {\'utg.~og \'y\adddot}}, cbyeditorco = {{\'utg.~og sk\'yringar:}% @@ -475,6 +345,10 @@ paragraphs = {{mgr\adddot}{mgr\adddot}}, section = {{\S}{\S}}, sections = {{\S\S}{\S\S}}, + subsection = {{\S}{\S}}, + subsections = {{\S\S}{\S\S}}, + preface = {{form\'ali}{form\'ali}}, + note = {{athugasemd}{aths\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace athugasemd\addnbspace}% ditto @@ -486,59 +360,298 @@ verses = {{erindi}{er\adddot}}, number = {{nr\adddot}{nr\adddot}}, chapter = {{kafli}{k\adddot}}, -% byconductor = {{}{}}, -% bydirector = {{}{}}, -% byproducer = {{}{}}, - % A lot of keys already present in in icelandic.lbx omitted here + track = {{lag}{lag}}, + circa = {{um \'arin}{um \'ari\dh}},% 2 cases of noun, these five + spring = {{vor}{vori\dh}},% Indefinite in long slot, for mkbibseason + summer = {{sumar}{sumari\dh}},% in NB style (?) + autumn = {{haust}{hausti\dh}},% + winter = {{vetur}{veturinn}},% + byconductor = {{stj\'orna\th\ af}{stj\'orn\adddot}}, + bydirector = {{leikst\'yrt af}{leikst\adddot}}, + byproducer = {{framleidd af}{framl\adddot}}, + bychoreographer = {{dansverk af}{dansverk af}}, + % A lot of keys already present in icelandic.lbx omitted here } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% +\protected\gdef\lbx@cms@mkbibrangetrunc@is#1#2{% DATE FIX + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% + {}% {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\if@cms@endbracket% + {\biblstring{circa}\printdelim{datecircadelim}}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\ifdateyearsequal{#2}{#2end}% + {\iffieldsequal{#2month}{#2endmonth}% + {\csuse{mkbibdate#1}{}{}{#2day}}% + {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% + \clearfield{#2endyear}}% Clear up inheritance problem ??? + {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% + {\cmsunspecified{#1}{#2}}}% + {\ifdateyearsequal{#2}{#2end}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\csuse{mkbibseasondate#1}{}{#2season}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% {}% + \iffieldundef{#2endyear}% + {\iffieldundef{#2endmonth}% + {\ifthenelse{\iffieldundef{#2endseason}\OR% + \iffieldsequal{#2season}{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% + {\bibdaterangesep% + \csuse{mkbibseasondate#1}{}{#2endseason}}}% + {\bibdaterangesep% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdatedash% + \iffieldundef{#2endseason}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}% + {\ifdateyearsequal{#2}{#2end}% + {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% +\protected\gdef\lbx@cms@mkbibrangefull@is#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \clearfield{extradate}% + \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% + \iffieldundef{#2season}}% {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% + {\printtext[#2date]{% + \if@cms@bracket% + {\cms@datebrackets% + \if@cms@circa% + {\if@cms@endbracket% + {\biblstring{circa}\printdelim{datecircadelim}}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \iffieldundef{#2season}% + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \ifboolexpr{% + test {\ifdateyearsequal{#2}{#2end}}% + and + test {\iffieldundef{#2month}}% + and + test {\iffieldundef{#2day}}% + }% + {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% + {\cmsdateeraprint{#2year}}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \cmsdateeraprint{#2year}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {\bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#2endyear}% + {\bibdateuncertain}% + {}}% + {}}}% {}% + \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% + \AND\iffieldundef{#2endseason}}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}}% {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@datebrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}%\bibdaterangesep% + \iffieldundef{#2endseason}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#2endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#2endyear}}}% + {\enddateuncertainprint% + \cmsdateeraprint{#2endyear}}}}}}% + \endgroup} + +\protected\gdef\lbx@cms@mkyearrangeextra@is[#1]#2#3{% + \global\boolfalse{cms:extraparens}% + \begingroup + \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% + \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \blx@metadateinfo{#3}% + \iffieldundef{#3year} + {\blx@nounit}% + {\printtext{% + \if@cms@bracket% + {\cms@yearbrackets% + \if@cms@circa% + {\if@cms@endbracket% + {\biblstring{circa}\printdelim{datecircadelim}}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\global\boolfalse{cms:bracket}}% + \ifdateyearsequal{#3}{#3end}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}% + \clearfield{#3endyear}}% + {\ifblank{#1}% + {\cmsunspecified{#2}{#3}}% + {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}% + \if@cms@bracket% + {\if@cms@uncertain% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}}% + {\ifthenelse{\iffieldundef{#3endyear}\OR% + \iffieldequalstr{#3endyear}{}}% + {\global\booltrue{cms:extraparens}}% + {}% + \bibdateuncertain}}% + {\if@cms@enduncertain% + {\iffieldundef{#3endyear}% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}}% + {}}}% + {}% + \iffieldundef{#3endyear} + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \cmsformatextra}%\usebibmacro{cmsextradate}% + {\iffieldequalstr{#3endyear}{}% + {\ifbool{cms:bracket}% + {\bibclosebracket\global\boolfalse{cms:bracket}}% + {}% + \cmsformatextra%\usebibmacro{cmsextradate}% + \mbox{\bibdaterangesep}}% + {\ifbool{cms:bracket}% + {\if@cms@circa% + {\if@cms@endbracket% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}% + {\if@cms@endcirca% + {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}% + {\if@cms@enduncertain% + {\bibdaterangesep}% + {\bibclosebracket\global\boolfalse{cms:bracket}% + \bibdaterangesep}}}}% + {\if@cms@endbracket% + {\bibdaterangesep% + \cms@yearbrackets% + \if@cms@endcirca% + {\if@cms@circa% + {}% + {\bibsstring{circa}\printdelim{datecircadelim}}}% + {}}% + {\bibdaterangesep}}% + \csuse{mkbibdate#2}{#3endyear}{}{}% + \ifbool{cms:bracket}% + {\if@cms@bracket% + {\cmsdateeraprint{#3endyear}% + \enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}}% + {\enddateuncertainprint% + \bibclosebracket\global\boolfalse{cms:bracket}% + \cmsdateeraprint{#3endyear}}}% + {\if@cms@enduncertain% + {\global\booltrue{cms:extraparens}% + \bibdateuncertain}% + {}% + \cmsdateeraprint{#3endyear}}% + \cmsformatendextra}}}}% + \endgroup}% \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx index a9f7691e0d0..ac93c989b98 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx @@ -1,6 +1,4 @@ -% $Id: cms-ngerman.lbx,v 0.9.5.36 2018/01/09 19:01:32 dfussner Exp $ - -\ProvidesFile{cms-ngerman.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-ngerman.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated strings and formatting decisions need review by native @@ -12,14 +10,18 @@ \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% \savecommand\lbx@fromlang% \savecommand\lbx@lfromlang% \savecommand\lbx@sfromlang% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% + \def\introductionname{Einleitung}% + \def\sectionname{Paragraph}% + \def\subsectionname{Absatz}% + \def\forewordname{Vorwort}% + \def\notesname{Anmerkungen}% \protected\def\mkjuridordinal{\mkbibordinal}% \def\lbx@fromlang{% \iffieldundef{userf}% @@ -39,258 +41,49 @@ {}% {\printlist[sfromoriglanguage]{origlanguage}\addspace}}% {}}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}% + \def\cms@datelong#1{\csname print#1date\endcsname}% + \protected\def\cmsmkdecade#1#2{% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\cmsmkcentury#1{% + \dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% \protected\def\mkdaterangecomp{% DATE FIX - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% DATE FIX - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% +}% \UndeclareBibliographyExtras{% \restorecommand\lbx@fromlang% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangeterse% \restorecommand\mkdaterangefull% - \restorecommand\mkbibrangecomp% DATE FIX - \restorecommand\mkbibrangeterse% - \restorecommand\mkbibrangefull}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled} -\NewBibliographyString{patentissued} -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {ngerman}, @@ -332,6 +125,8 @@ producers = {{Prod\adddot}{Prod\adddot}}, editor = {{Hrsg\adddot}{Hrsg\adddot}}, editors = {{Hrsg\adddot}{Hrsg\adddot}}, + choreographer = {{Choreograph}{Choreograph}}, + choreographers = {{Choreografen}{Choreografen}}, ibidem = {{ebd\adddot}{ebd\adddot}}, origpub = {{urspr\"unglich ver\"offentlicht als}% {urspr\adddot\ ver\"offtl\adddot\ als}}, @@ -356,15 +151,16 @@ % translationof = {{}{}},% FIXME: missing % translationas = {{}{}},% FIXME: missing % translationfrom = {{}{}},% FIXME: missing -% reviewof = {{}{}},% FIXME: missing origpubas = {{urspr\"unglich ver\"offentlicht als}% {urspr\adddot\ ver\"offtl\adddot\ als}},% FIXME - origpubin = {{urspr\"unglich ver\"offentlicht im Jahr\addspace}% - {urspr\adddot\ ver\"offtl\adddot\addspace}},% FIXME + origpubin = {{urspr\"unglich ver\"offentlicht im Jahr}% + {urspr\adddot\ ver\"offtl\adddot}},% FIXME astitle = {{als}{als}},% FIXME bypublisher = {{von}{von}},% FIXME numbers = {{Nrn\adddot}{Nrn\adddot}}, nodate = {{{}o\adddot Dat\adddot}{{}o\adddot Dat\adddot}},% ? + decade = {{er}{er}}, + century = {{Jahrhundert}{Jh\adddot}}, pseudonym = {{Pseud\adddot}{Pseud\adddot}}, patentfiled = {{eingereicht}{eingereicht}},% Are these 2 correct? patentissued = {{erteilt}{erteilt}},% ? @@ -410,7 +206,10 @@ annotators = {{Erl\"aut\adddot}{Erl\"aut\adddot}}, review = {{Rezension}{Rezension}}, reviewof = {{Rezension des}{Rezension des}}, + commenton = {{Kommentar zu}{Kommentar zu}}, reprint = {{Nachdruck}{Nachdr\adddot}}, + printed = {{gedruckt}{gedruckt}}, + selfpublished = {{selbst ver\"offentlicht}{selbst ver\"offtl\adddot}}, shorthands = {{Sigel}{Sigel}}, newseries = {{n.\,F\adddot}{n.\,F\adddot}}, cbynone = {{}{}}, @@ -429,6 +228,8 @@ cbyconductor = {{dir\adddot}{dir\adddot}}, cbydirector = {{unter der Reg\adddot\ von}{unter der Reg\adddot\ von}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{choreograph\adddotspace von}% + {choreograph\adddotspace von}}, cbyeditortr = {{hrsg\adddot\addabbrvspace und \lbx@fromlang \"ubers\adddot}% {hrsg\adddot\addabbrvspace und \lbx@fromlang \"ubers\adddot}}, @@ -794,6 +595,10 @@ paragraphs = {{Abs\adddot}{Abs\adddot}}, section = {{\S}{\S}}, sections = {{\S\S}{\S\S}}, + subsection = {{Abs\adddot}{Abs\adddot}}, + subsections = {{Abs\adddot}{Abs\adddot}}, + preface = {{Vorwort}{Vorw\adddot}}, + note = {{Anmerkung}{Anm\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace Anmerkung\addnbspace}% ditto @@ -805,6 +610,7 @@ verses = {{V\adddot}{V\adddot}}, number = {{Nr\adddot}{Nr\adddot}}, chapter = {{Kap\adddot}{Kap\adddot}}, + track = {{Track}{Track}}, mathesis = {{Magisterarbeit}{Magisterarbeit}}, phdthesis = {{Diss\adddot}{Diss\adddot}}, techreport = {{Technischer Bericht}{Technischer Bericht}}, @@ -813,6 +619,7 @@ byconductor = {{dirigiert von}{dir\adddot}}, bydirector = {{unter der Regie von}{unter der Reg\adddot\ von}}, byproducer = {{produziert von}{prod\adddot}}, + bychoreographer = {{choreographiert von}{choreograph\adddotspace von}}, byeditorcp = {{herausgegeben und zusammengestellt von}% {hrsg\adddot\addabbrvspace und zusammengest\adddot}}, byeditortrcp = {{herausgegeben, \lbx@fromlang \"ubersetzt und @@ -1001,53 +808,4 @@ vers\adddot\ von}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx index 63f6d319a84..2b53432fb5d 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx @@ -1,6 +1,4 @@ -% $Id: cms-norsk.lbx,v 1.11 2018/01/09 19:02:41 dfussner Exp $ - -\ProvidesFile{cms-norsk.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-norsk.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). @@ -10,292 +8,59 @@ \DeclareBibliographyExtras{% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Innledning}% + \def\sectionname{Avsnitt}% + \def\subsectionname{Avsnitt}% + \def\forewordname{Forord}% + \def\notesname{Noter}% \protected\def\mkjuridordinal{\mkbibordinal}% + \protected\def\cmsmkdecade#1#2{% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\cmsmkcentury#1{% + \dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangefull% \restorecommand\mkdaterangeterse% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -\NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {norsk}, @@ -338,6 +103,8 @@ producers = {{prod\adddot}{prod\adddot}}, editor = {{red\adddot}{red\adddot}}, editors = {{red\adddot}{red\adddot}}, + choreographer = {{koreogr\adddot}{koreogr\adddot}}, + choreographers = {{koreogr\adddot}{koreogr\adddot}}, ibidem = {{sst\adddot}{sst\adddot}}, origpub = {{opprinnelig utgitt som}% {oppr\adddot\ utg\adddot\ som}}, @@ -360,6 +127,8 @@ discrecorded = {{spilt inn}{spilt inn}}, numbers = {{nr\adddot}{nr\adddot}}, nodate = {{udatert}{udatert}}, + decade = {{-{\aa}rene}{-{\aa}rene}}, + century = {{{\aa}rhundre}{{\aa}rhundre}},% Is there an abbreviation? pseudonym = {{pseud\adddot}{pseud\adddot}}, patentfiled = {{s{\o}kt}{s{\o}kt}}, patentissued = {{meddelt}{meddelt}}, @@ -405,6 +174,9 @@ annotators = {{forkl\adddot}{forkl\adddot}}, review = {{omtale}{omtale}}, reviewof = {{omtale av}{omtale av}}, + commenton = {{kommentar p\aa}{kommentar p\aa}}, + printed = {{trykt}{trykt}}, + selfpublished = {{selvpublisert}{selvpubl\adddot}}, cbynone = {{}{}}, cbyauthor = {{av}{av}}, cbyeditor = {{red\adddot}{red\adddot}}, @@ -421,6 +193,7 @@ cbyconductor = {{dir\adddot}{dir\adddot}}, cbydirector = {{regi}{regi}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{koreogr\adddotspace av}{koreogr\adddotspace av}}, cbyeditortr = {{red\adddot\space og overs\adddot\addspace\lbx@cfromlang}% {red\adddot\space og overs\adddot\addspace\lbx@cfromlang}}, @@ -633,6 +406,10 @@ paragraphs = {{avsn\adddot}{avsn\adddot}}, section = {{avsn\adddot}{avsn\adddot}}, sections = {{avsn\adddot}{avsn\adddot}}, + subsection = {{avsn\adddot}{avsn\adddot}}, + subsections = {{avsn\adddot}{avsn\adddot}}, + preface = {{forord}{forord}}, + note = {{note}{n\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto @@ -644,6 +421,7 @@ verses = {{v\adddot}{v\adddot}}, number = {{nr\adddot}{nr\adddot}}, chapter = {{kap\adddot}{kap\adddot}}, + track = {{sporet}{sporet}}, cfromamerican = {{fra amerikansk-engelsk av}{fra amerikansk-engelsk av}}, cfrombrazilian = {{fra brasiliansk-portugisisk av}{fra brasiliansk-portugisisk av}}, @@ -676,6 +454,7 @@ byconductor = {{dirigert av}{dir\adddot}}, bydirector = {{regissert av}{regi}}, byproducer = {{produsert av}{prod\adddot}}, + bychoreographer = {{koreografert av}{koreogr\adddotspace av}}, byeditorcp = {{redigert og kompilert av}{red\adddot\space og komp\adddot}}, byeditortrcp = {{redigert, oversatt \lbx@fromlang og kompilert av}% {red.,\addabbrvspace overs.\addspace\lbx@fromlang og komp\adddot}}, @@ -785,53 +564,4 @@ {komp\adddot\space og forkl\adddot, med etterord, av}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx index caa5ce959c6..fd690c94bfe 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx @@ -1,6 +1,4 @@ -% $Id: cms-norwegian.lbx,v 1.11 2018/01/09 19:03:01 dfussner Exp $ - -\ProvidesFile{cms-norwegian.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-norwegian.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). @@ -10,292 +8,59 @@ \DeclareBibliographyExtras{% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Innledning}% + \def\sectionname{Avsnitt}% + \def\subsectionname{Avsnitt}% + \def\forewordname{Forord}% + \def\notesname{Noter}% \protected\def\mkjuridordinal{\mkbibordinal}% + \protected\def\cmsmkdecade#1#2{% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\cmsmkcentury#1{% + \dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangefull% \restorecommand\mkdaterangeterse% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -\NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {norwegian}, @@ -338,6 +103,8 @@ producers = {{prod\adddot}{prod\adddot}}, editor = {{red\adddot}{red\adddot}}, editors = {{red\adddot}{red\adddot}}, + choreographer = {{koreogr\adddot}{koreogr\adddot}}, + choreographers = {{koreogr\adddot}{koreogr\adddot}}, ibidem = {{sst\adddot}{sst\adddot}}, origpub = {{opprinnelig utgitt som}% {oppr\adddot\ utg\adddot\ som}}, @@ -360,6 +127,8 @@ discrecorded = {{spilt inn}{spilt inn}}, numbers = {{nr\adddot}{nr\adddot}}, nodate = {{udatert}{udatert}}, + decade = {{-{\aa}rene}{-{\aa}rene}}, + century = {{{\aa}rhundre}{{\aa}rhundre}},% Is there an abbreviation? pseudonym = {{pseud\adddot}{pseud\adddot}}, patentfiled = {{s{\o}kt}{s{\o}kt}}, patentissued = {{meddelt}{meddelt}}, @@ -405,6 +174,9 @@ annotators = {{forkl\adddot}{forkl\adddot}}, review = {{omtale}{omtale}}, reviewof = {{omtale av}{omtale av}}, + commenton = {{kommentar p\aa}{kommentar p\aa}}, + printed = {{trykt}{trykt}}, + selfpublished = {{selvpublisert}{selvpubl\adddot}}, cbynone = {{}{}}, cbyauthor = {{av}{av}}, cbyeditor = {{red\adddot}{red\adddot}}, @@ -421,6 +193,7 @@ cbyconductor = {{dir\adddot}{dir\adddot}}, cbydirector = {{regi}{regi}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{koreogr\adddotspace av}{koreogr\adddotspace av}}, cbyeditortr = {{red\adddot\space og overs\adddot\addspace\lbx@cfromlang}% {red\adddot\space og overs\adddot\addspace\lbx@cfromlang}}, @@ -633,6 +406,10 @@ paragraphs = {{avsn\adddot}{avsn\adddot}}, section = {{avsn\adddot}{avsn\adddot}}, sections = {{avsn\adddot}{avsn\adddot}}, + subsection = {{avsn\adddot}{avsn\adddot}}, + subsections = {{avsn\adddot}{avsn\adddot}}, + preface = {{forord}{forord}}, + note = {{note}{n\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto @@ -644,6 +421,7 @@ verses = {{v\adddot}{v\adddot}}, number = {{nr\adddot}{nr\adddot}}, chapter = {{kap\adddot}{kap\adddot}}, + track = {{sporet}{sporet}}, cfromamerican = {{fra amerikansk-engelsk av}{fra amerikansk-engelsk av}}, cfrombrazilian = {{fra brasiliansk-portugisisk av}{fra brasiliansk-portugisisk av}}, @@ -676,6 +454,7 @@ byconductor = {{dirigert av}{dir\adddot}}, bydirector = {{regissert av}{regi}}, byproducer = {{produsert av}{prod\adddot}}, + bychoreographer = {{koreografert av}{koreogr\adddotspace av}}, byeditorcp = {{redigert og kompilert av}{red\adddot\space og komp\adddot}}, byeditortrcp = {{redigert, oversatt \lbx@fromlang og kompilert av}% {red.,\addabbrvspace overs.\addspace\lbx@fromlang og komp\adddot}}, @@ -785,53 +564,4 @@ {komp\adddot\space og forkl\adddot, med etterord, av}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx index a529b84cd65..e5d451151b5 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx @@ -1,6 +1,4 @@ -% $Id: cms-nynorsk.lbx,v 1.11 2018/01/09 19:03:19 dfussner Exp $ - -\ProvidesFile{cms-nynorsk.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-nynorsk.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). @@ -10,292 +8,66 @@ \DeclareBibliographyExtras{% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Innleiing}% + \def\sectionname{Avsnitt}% + \def\subsectionname{Avsnitt}% + \def\forewordname{F{\o}reord}% + \def\notesname{Notar}% \protected\def\mkjuridordinal{\mkbibordinal}% + \protected\def\cmsmkdecade#1#2{% + \csuse{mkbibdate#1}{#2year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {\dateeraprintpre{#1year}% + \csuse{mkcmscentury}{#1year}% + \addnbspace% + \biblstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\csuse{mkbibdatelong}{#1year}{}{}% + \setunit{}%\blx@nounit% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% + \protected\def\mkcmscentury#1{% + \cms@tempcnta=\numexpr\thefield{#1}/100+1% + \mkbibordinal{\the\cms@tempcnta}}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangefull% \restorecommand\mkdaterangeterse% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -\NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {nynorsk}, @@ -360,6 +132,8 @@ discrecorded = {{spelt inn}{spelt inn}}, numbers = {{nr\adddot}{nr\adddot}}, nodate = {{udatert}{udatert}}, + decade = {{-{\aa}ra}{-{\aa}ra}}, + century = {{hundre{\aa}ret}{-talet}},% Kludge for 1st c. / all others pseudonym = {{pseud\adddot}{pseud\adddot}}, patentfiled = {{s{\o}kt}{s{\o}kt}}, patentissued = {{meldt}{meldt}}, @@ -405,6 +179,7 @@ annotators = {{forkl\adddot}{forkl\adddot}}, review = {{omtale}{omtale}}, reviewof = {{omtale av}{omtale av}}, + selfpublished = {{selvpublisert}{selvpubl\adddot}}, cbynone = {{}{}}, cbyauthor = {{av}{av}}, cbyeditor = {{red\adddot}{red\adddot}}, @@ -633,6 +408,10 @@ paragraphs = {{avsn\adddot}{avsn\adddot}}, section = {{avsn\adddot}{avsn\adddot}}, sections = {{avsn\adddot}{avsn\adddot}}, + subsection = {{avsn\adddot}{avsn\adddot}}, + subsections = {{avsn\adddot}{avsn\adddot}}, + preface = {{f{\o}reord}{f{\o}reord}}, + note = {{note}{n\adddot}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto @@ -786,53 +565,4 @@ {komp\adddot\space og forkl\adddot, med etterord, av}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx index 4927caf5aa8..87c3d962687 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx @@ -1,6 +1,4 @@ -% $Id$ - -\ProvidesFile{cms-swedish.lbx}[2018/01/09 v 3.10 biblatex localization] +\ProvidesFile{cms-swedish.lbx}[2020/04/20 v 3.14 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Stefan Bj\"{o}rk). @@ -10,292 +8,64 @@ \DeclareBibliographyExtras{% \savecommand\cms@datelong% - \savecommand\cms@datelongalt% \savecommand\mkdaterangecomp% \savecommand\mkdaterangeterse% \savecommand\mkdaterangefull% - \savecommand\mkbibrangecomp% - \savecommand\mkbibrangeterse% - \savecommand\mkbibrangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \def\introductionname{Inledning}% + \def\sectionname{Paragraf}% + \def\subsectionname{Paragraf}% + \def\forewordname{F\"orord}% + \def\notesname{Noter}% \protected\def\mkjuridordinal{\mkbibordinal}% + \protected\def\cmsmkdecade#1#2{% + \cms@tempcnta=\thefield{#2year}% + \divide\cms@tempcnta100 + \multiply\cms@tempcnta100 + \ifnumequal{\cms@tempcnta}{\thefield{#2year}}% Disambiguation of -talet + {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}% + {\ifnumequal{\thefield{#2year}}{1}% + {\printtext{00}}% + {\csuse{mkbibdate#1}{#2year}{}{}}% + \setunit{}%\blx@nounit% + \bibsstring{decade}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {\printtext{000}}% + {\csuse{mkbibdatelong}{#1year}{}{}}% + \setunit{}%\blx@nounit% + \bibsstring{century}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% \protected\def\mkdaterangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% + \cms@mkbibrangetrunc{long}}% \protected\def\mkdaterangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% + \cms@mkbibrangetrunc{short}}% \protected\def\mkdaterangefull{% - \lbx@cms@mkbibrangefull}% - \protected\def\mkbibrangecomp{% - \lbx@cms@mkbibrangetrunc{long}}% - \protected\def\mkbibrangeterse{% - \lbx@cms@mkbibrangetrunc{short}}% - \protected\def\mkbibrangefull{% - \lbx@cms@mkbibrangefull}% - \def\cms@datelong{\printorigdate}% - \def\cms@datelongalt{\printdate}}% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \def\cms@datelong#1{\csname print#1date\endcsname}}% \UndeclareBibliographyExtras{% \restorecommand\cms@datelong% - \restorecommand\cms@datelongalt% \restorecommand\mkdaterangecomp% \restorecommand\mkdaterangefull% \restorecommand\mkdaterangeterse% - \restorecommand\mkbibrangecomp% - \restorecommand\mkbibrangefull% - \restorecommand\mkbibrangeterse}% - -\NewBibliographyString{bynone} -\NewBibliographyString{bycompiler} -\NewBibliographyString{byconductor} -\NewBibliographyString{bydirector} -\NewBibliographyString{byproducer} -\NewBibliographyString{byeditorcp} -\NewBibliographyString{byeditortrcp} -\NewBibliographyString{byeditortrcpco} -\NewBibliographyString{byeditortrcpan} -\NewBibliographyString{byeditortrcpin} -\NewBibliographyString{byeditortrcpfo} -\NewBibliographyString{byeditortrcpaf} -\NewBibliographyString{byeditortrcpcoin} -\NewBibliographyString{byeditortrcpcofo} -\NewBibliographyString{byeditortrcpcoaf} -\NewBibliographyString{byeditortrcpanin} -\NewBibliographyString{byeditortrcpanfo} -\NewBibliographyString{byeditortrcpanaf} -\NewBibliographyString{byeditorcpco} -\NewBibliographyString{byeditorcpan} -\NewBibliographyString{byeditorcpin} -\NewBibliographyString{byeditorcpfo} -\NewBibliographyString{byeditorcpaf} -\NewBibliographyString{byeditorcpcoin} -\NewBibliographyString{byeditorcpcofo} -\NewBibliographyString{byeditorcpcoaf} -\NewBibliographyString{byeditorcpanin} -\NewBibliographyString{byeditorcpanfo} -\NewBibliographyString{byeditorcpanaf} -\NewBibliographyString{bytranslatorcp} -\NewBibliographyString{bytranslatorcpco} -\NewBibliographyString{bytranslatorcpan} -\NewBibliographyString{bytranslatorcpin} -\NewBibliographyString{bytranslatorcpfo} -\NewBibliographyString{bytranslatorcpaf} -\NewBibliographyString{bytranslatorcpcoin} -\NewBibliographyString{bytranslatorcpcofo} -\NewBibliographyString{bytranslatorcpcoaf} -\NewBibliographyString{bytranslatorcpanin} -\NewBibliographyString{bytranslatorcpanfo} -\NewBibliographyString{bytranslatorcpanaf} -\NewBibliographyString{bycompilerco} -\NewBibliographyString{bycompileran} -\NewBibliographyString{bycompilerin} -\NewBibliographyString{bycompilerfo} -\NewBibliographyString{bycompileraf} -\NewBibliographyString{bycompilercoin} -\NewBibliographyString{bycompilercofo} -\NewBibliographyString{bycompilercoaf} -\NewBibliographyString{bycompileranin} -\NewBibliographyString{bycompileranfo} -\NewBibliographyString{bycompileranaf} -\NewBibliographyString{cbynone} -\NewBibliographyString{cbyauthor} -\NewBibliographyString{cbyeditor} -\NewBibliographyString{cbytranslator} -\NewBibliographyString{cbycompiler} -\NewBibliographyString{cbyredactor} -\NewBibliographyString{cbycommentator} -\NewBibliographyString{cbyannotator} -\NewBibliographyString{cbyfounder} -\NewBibliographyString{cbycontinuator} -\NewBibliographyString{cbycollaborator} -\NewBibliographyString{cbyconductor} -\NewBibliographyString{cbydirector} -\NewBibliographyString{cbyproducer} -\NewBibliographyString{cbyeditortr} -\NewBibliographyString{cbyeditorcp} -\NewBibliographyString{cbyeditorco} -\NewBibliographyString{cbyeditoran} -\NewBibliographyString{cbyeditorin} -\NewBibliographyString{cbyeditorfo} -\NewBibliographyString{cbyeditoraf} -\NewBibliographyString{cbyeditortrcp} -\NewBibliographyString{cbyeditortrco} -\NewBibliographyString{cbyeditortran} -\NewBibliographyString{cbyeditortrin} -\NewBibliographyString{cbyeditortrfo} -\NewBibliographyString{cbyeditortraf} -\NewBibliographyString{cbyeditortrcpco} -\NewBibliographyString{cbyeditortrcpan} -\NewBibliographyString{cbyeditortrcpin} -\NewBibliographyString{cbyeditortrcpfo} -\NewBibliographyString{cbyeditortrcpaf} -\NewBibliographyString{cbyeditorcoin} -\NewBibliographyString{cbyeditorcofo} -\NewBibliographyString{cbyeditorcoaf} -\NewBibliographyString{cbyeditoranin} -\NewBibliographyString{cbyeditoranfo} -\NewBibliographyString{cbyeditoranaf} -\NewBibliographyString{cbyeditortrcoin} -\NewBibliographyString{cbyeditortrcofo} -\NewBibliographyString{cbyeditortrcoaf} -\NewBibliographyString{cbyeditortranin} -\NewBibliographyString{cbyeditortranfo} -\NewBibliographyString{cbyeditortranaf} -\NewBibliographyString{cbyeditortrcpcoin} -\NewBibliographyString{cbyeditortrcpcofo} -\NewBibliographyString{cbyeditortrcpcoaf} -\NewBibliographyString{cbyeditortrcpanin} -\NewBibliographyString{cbyeditortrcpanfo} -\NewBibliographyString{cbyeditortrcpanaf} -\NewBibliographyString{cbyeditorcpco} -\NewBibliographyString{cbyeditorcpan} -\NewBibliographyString{cbyeditorcpin} -\NewBibliographyString{cbyeditorcpfo} -\NewBibliographyString{cbyeditorcpaf} -\NewBibliographyString{cbyeditorcpcoin} -\NewBibliographyString{cbyeditorcpcofo} -\NewBibliographyString{cbyeditorcpcoaf} -\NewBibliographyString{cbyeditorcpanin} -\NewBibliographyString{cbyeditorcpanfo} -\NewBibliographyString{cbyeditorcpanaf} -\NewBibliographyString{cbytranslatorcp} -\NewBibliographyString{cbytranslatorco} -\NewBibliographyString{cbytranslatoran} -\NewBibliographyString{cbytranslatorin} -\NewBibliographyString{cbytranslatorfo} -\NewBibliographyString{cbytranslatoraf} -\NewBibliographyString{cbytranslatorcpco} -\NewBibliographyString{cbytranslatorcpan} -\NewBibliographyString{cbytranslatorcpin} -\NewBibliographyString{cbytranslatorcpfo} -\NewBibliographyString{cbytranslatorcpaf} -\NewBibliographyString{cbytranslatorcoin} -\NewBibliographyString{cbytranslatorcofo} -\NewBibliographyString{cbytranslatorcoaf} -\NewBibliographyString{cbytranslatoranin} -\NewBibliographyString{cbytranslatoranfo} -\NewBibliographyString{cbytranslatoranaf} -\NewBibliographyString{cbytranslatorcpcoin} -\NewBibliographyString{cbytranslatorcpcofo} -\NewBibliographyString{cbytranslatorcpcoaf} -\NewBibliographyString{cbytranslatorcpanin} -\NewBibliographyString{cbytranslatorcpanfo} -\NewBibliographyString{cbytranslatorcpanaf} -\NewBibliographyString{cbycompilerco} -\NewBibliographyString{cbycompileran} -\NewBibliographyString{cbycompilerin} -\NewBibliographyString{cbycompilerfo} -\NewBibliographyString{cbycompileraf} -\NewBibliographyString{cbycompilercoin} -\NewBibliographyString{cbycompilercofo} -\NewBibliographyString{cbycompilercoaf} -\NewBibliographyString{cbycompileranin} -\NewBibliographyString{cbycompileranfo} -\NewBibliographyString{cbycompileranaf} -\NewBibliographyString{cfromamerican} -\NewBibliographyString{cfrombrazilian} -\NewBibliographyString{cfrombulgarian} -\NewBibliographyString{cfromcatalan} -\NewBibliographyString{cfromcroatian} -\NewBibliographyString{cfromczech} -\NewBibliographyString{cfromdanish} -\NewBibliographyString{cfromdutch} -\NewBibliographyString{cfromenglish} -\NewBibliographyString{cfromestonian} -\NewBibliographyString{cfromfinnish} -\NewBibliographyString{cfromfrench} -\NewBibliographyString{cfromgalician} -\NewBibliographyString{cfromgerman} -\NewBibliographyString{cfromgreek} -\NewBibliographyString{cfromitalian} -\NewBibliographyString{cfromjapanese} -\NewBibliographyString{cfromlatin} -\NewBibliographyString{cfromnorwegian} -\NewBibliographyString{cfrompolish} -\NewBibliographyString{cfromportuguese} -\NewBibliographyString{cfromrussian} -\NewBibliographyString{cfromslovak} -\NewBibliographyString{cfromslovene} -\NewBibliographyString{cfromspanish} -\NewBibliographyString{cfromswedish} -\NewBibliographyString{cfromukrainian} -\NewBibliographyString{partvolume} -\NewBibliographyString{by} -\NewBibliographyString{of} -\NewBibliographyString{on} -\NewBibliographyString{afterwordto} -\NewBibliographyString{forewordto} -\NewBibliographyString{introductionto} -\NewBibliographyString{origpub} -\NewBibliographyString{origpublin} -\NewBibliographyString{origpubyear} -\NewBibliographyString{origpubyearalt} -\NewBibliographyString{origreleaseyear} -\NewBibliographyString{origshownyear} -\NewBibliographyString{origedition} -\NewBibliographyString{revisededition} -\NewBibliographyString{broadcast} -\NewBibliographyString{songrecorded} -\NewBibliographyString{discrecorded} -\NewBibliographyString{numbers} -\NewBibliographyString{nodate} -\NewBibliographyString{pseudonym} -\NewBibliographyString{patentfiled}% Needed for CMS style patent entries -\NewBibliographyString{patentissued}% -\NewBibliographyString{inlang} -\NewBibliographyString{edamerican} -\NewBibliographyString{edbrazilian} -\NewBibliographyString{edbulgarian} -\NewBibliographyString{edcatalan} -\NewBibliographyString{edcroatian} -\NewBibliographyString{edczech} -\NewBibliographyString{eddanish} -\NewBibliographyString{eddutch} -\NewBibliographyString{edenglish} -\NewBibliographyString{edestonian} -\NewBibliographyString{edfinnish} -\NewBibliographyString{edfrench} -\NewBibliographyString{edgalician} -\NewBibliographyString{edgerman} -\NewBibliographyString{edgreek} -\NewBibliographyString{editalian} -\NewBibliographyString{edjapanese} -\NewBibliographyString{edlatin} -\NewBibliographyString{ednorwegian} -\NewBibliographyString{edpolish} -\NewBibliographyString{edportuguese} -\NewBibliographyString{edrussian} -\NewBibliographyString{edslovak} -\NewBibliographyString{edslovene} -\NewBibliographyString{edspanish} -\NewBibliographyString{edswedish} -\NewBibliographyString{edukrainian} -\NewBibliographyString{review} -\NewBibliographyString{reviewof} -\NewBibliographyString{section} -\NewBibliographyString{sections} -\NewBibliographyString{canadasection}% For legal citations -\NewBibliographyString{canadasections}% Ditto -\NewBibliographyString{supranote}% Ditto -\NewBibliographyString{hereinafter}% Ditto -\NewBibliographyString{subverbo} -\NewBibliographyString{subverbis} -\NewBibliographyString{compiler} -\NewBibliographyString{compilers} -\NewBibliographyString{conductor} -\NewBibliographyString{conductors} -\NewBibliographyString{director} -\NewBibliographyString{directors} -\NewBibliographyString{none} -\NewBibliographyString{nones} -\NewBibliographyString{producer} -\NewBibliographyString{producers} -\NewBibliographyString{transcompiler} -\NewBibliographyString{transcompilers} -\NewBibliographyString{editortranscompiler} -\NewBibliographyString{editorcompiler} -\NewBibliographyString{editortranslator} -\NewBibliographyString{editortranscompilers} -\NewBibliographyString{editorcompilers} -\NewBibliographyString{editortranslators} + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% +}% \DeclareBibliographyStrings{% inherit = {swedish}, @@ -338,6 +108,8 @@ producers = {{prod\adddot}{prod\adddot}}, editor = {{red\adddot}{red\adddot}}, editors = {{red\adddot}{red\adddot}}, + choreographer = {{koreogr\adddot}{\koreogr\adddot}}, + choreographers = {{koreogr\adddot}{koreogr\adddot}}, ibidem = {{ibid\adddot}{ibid\adddot}}, origpub = {{ursprungligen publicerad som}% {urspr\adddot\ pub\adddot\ som}}, @@ -360,6 +132,8 @@ discrecorded = {{spilt inn}{spilt inn}}, numbers = {{nr\adddot}{nr\adddot}}, nodate = {{udatert}{udatert}}, + decade = {{-talet}{-talet}}, + century = {{-talet}{-talet}}, pseudonym = {{pseud\adddot}{pseud\adddot}}, patentfiled = {{s{\o}kt}{s{\o}kt}}, patentissued = {{meddelt}{meddelt}}, @@ -405,6 +179,9 @@ annotators = {{forkl\adddot}{forkl\adddot}}, review = {{omtale}{omtale}}, reviewof = {{omtale av}{omtale av}}, + commenton = {{kommentar p{\aa}}{kommentar p{\aa}}}, + printed = {{tryckt}{tryckt}}, + selfpublished = {{sj\"alv publicerad}{sj\"alv publ\adddot}}, cbynone = {{}{}}, cbyauthor = {{av}{av}}, cbyeditor = {{red\adddot}{red\adddot}}, @@ -421,6 +198,7 @@ cbyconductor = {{dir\adddot}{dir\adddot}}, cbydirector = {{regi}{regi}}, cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{koreogr\adddotspace av}{koreogr\adddotspace av}}, cbyeditortr = {{red\adddot\space och \"{o}vers\adddot\addspace\lbx@cfromlang}% {red\adddot\space och \"{o}vers\adddot\addspace\lbx@cfromlang}}, @@ -627,12 +405,16 @@ pages = {{s\adddot}{s\adddot}}, column = {{sp\adddot}{sp\adddot}}, columns = {{sp\adddot}{sp\adddot}}, - line = {{l\adddot}{l\adddot}}, - lines = {{l\adddot}{l\adddot}}, - paragraph = {{avsn\adddot}{avsn\adddot}}, - paragraphs = {{avsn\adddot}{avsn\adddot}}, - section = {{avsn\adddot}{avsn\adddot}}, - sections = {{avsn\adddot}{avsn\adddot}}, + line = {{r\adddot}{r\adddot}}, + lines = {{r\adddot}{r\adddot}}, + paragraph = {{\S}{\S}}, + paragraphs = {{\S}{\S}}, + section = {{\S}{\S}}, + sections = {{\S}{\S}}, + subsection = {{\S}{\S}}, + subsections = {{\S}{\S}}, + preface = {{f\"orord}{f\"orord}}, + note = {{not}{not}}, canadasection = {{s\adddot}{s\adddot}},% For legal citations canadasections = {{s\adddot}{s\adddot}},% ditto supranote = {{\mkbibemph{supra}\addspace not\addnbspace}% ditto @@ -644,6 +426,12 @@ verses = {{v\adddot}{v\adddot}}, number = {{nr\adddot}{nr\adddot}}, chapter = {{kap\adddot}{kap\adddot}}, + track = {{sp{\aa}ret}{sp{\aa}ret}}, + circa = {{cirka}{ca}}, + spring = {{v{\aa}r}{v{\aa}r}}, + summer = {{sommar}{sommar}}, + autumn = {{h\"ost}{h\"ost}}, + winter = {{vinter}{vinter}}, cfromamerican = {{fr{\aa}n engelska av}{fr{\aa}n engelska av}}, cfrombrazilian = {{fr{\aa}n portugisiska av}{fr{\aa}n portugisiska av}}, @@ -678,6 +466,7 @@ byconductor = {{dirigerad av}{dir\adddot}}, bydirector = {{regisserad av}{regi}}, byproducer = {{producerad av}{prod\adddot}}, + bychoreographer = {{koreograferad av}{koreogr\adddotspace av}}, byeditorcp = {{redigerad och sammanst\"{a}lld av}{red\adddot\space och sam\adddot}}, byeditortrcp = {{redigerad, \"{o}versatt \lbx@fromlang och sammanst\"{a}lld av}% {red.,\addabbrvspace \"{o}vers.\addspace\lbx@fromlang och sammanst\adddot}}, @@ -787,53 +576,4 @@ {sammanst\adddot\space och forkl\adddot, med efterord, av}}, } -\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX - \iffieldundef{#2year}% - {\iffieldundef{#2month}% - {}% - {\printtext[#2date]{% - \iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\csuse{mkbibdate#1}{}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {\iffieldundef{#2endmonth}% - {}% - {\bibdatedash% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}% - {\printtext[#2date]{% - \iffieldsequal{#2year}{#2endyear}% - {\iffieldsequal{#2month}{#2endmonth}% - {\csuse{mkbibdate#1}{}{}{#2day}}% - {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\csuse{mkbibdate#1}{#2year}{}{}% - \clearfield{#2endyear}}% Clear up inheritance problem ??? - {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% - \iffieldundef{#2endyear}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - -\protected\gdef\lbx@cms@mkbibrangefull#1#2{% - \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}% - {}% - {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND% - \iffieldundef{#2month}\AND\iffieldundef{#2day}}% - {\clearfield{#2endyear}}% Clear up inheritance problem ??? - {}% - \printtext[#2date]{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}% - {}% - {\iffieldequalstr{#2endyear}{}% - {\mbox{\bibdatedash}}% - {\bibdatedash% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty index 5a7df2634a0..08cb5f61db7 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty @@ -51,6 +51,9 @@ \newcounter{Thesis}\setcounter{Thesis}{34} \newcounter{Unpublished}\setcounter{Unpublished}{35} \newcounter{Video}\setcounter{Video}{36} +\newcounter{Performance}\setcounter{Performance}{37} +\newcounter{Standard}\setcounter{Standard}{38} +\newcounter{Dataset}\setcounter{Dataset}{39} %%% Here starts the adaptation of hyperendnotes.sty @@ -223,7 +226,8 @@ MVProceedings\or MVReference\or Online\or Patent\or Periodical\or Proceedings\or Reference\or Report\or Review\or SuppBook\or SuppCollection\or SuppPeriodical\or TechReport\or Thesis\or - Unpublished\or Video\else\@ctrerr\fi} + Unpublished\or Video\or Perfor\-mance\or Standard\or + Dataset\else\@ctrerr\fi} \renewcommand{\theendnote}{\cmssymbol{endnote}} @@ -269,7 +273,7 @@ \usedriver {\DeclareNameAlias{sortname}{default}\frenchspacing} {cite:\thefield{entrytype}}}} - {\iffieldequalstr{entrykey}{loc:leaders}% + {\iffieldequalstr{entrykey}{lac:leaders}% {\printtext{% \usedriver {\DeclareNameAlias{sortname}{default}\frenchspacing} @@ -279,39 +283,39 @@ {\DeclareNameAlias{sortname}{default}\frenchspacing} {cite:\thefield{entrytype}}}}}}% -\renewbibmacro*{cite:short}{% - \ifthenelse{\ifnameundef{labelname}\OR% - \ifentrytype{inreference}\OR% - \ifentrytype{reference}\OR% - \ifentrytype{mvreference}}% - {\iffieldequalstr{entrysubtype}{magazine}% Simplify .bib creation - {\ifuseauthor% - {\printfield[journaltitle]{journaltitle}\isdot\newcunit}% - {}}% - {\ifentrytype{manual}% - {\printlist{organization}\isdot\newcunit}% - {}}}% - {\iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{labelname}% - \bibrightbracket\classicpunct}% - {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{labelname}?% - \bibrightbracket\classicpunct}% - {\printnames{labelname}%\usebibmacro{choose+labelname}% - \isdot\classicpunct}}}% - \ifboolexpr{(% - test {\ifbibliography}% - or - test {\ifnumgreater{\the\value{refsection}}{3}}% - ) - and - not test {\ifnumequal{\the\value{refsection}}{8}}% - }% - {\printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}}}% - {\printtext[cmsbiblink]{% - \printfield[citetitle]{labeltitle}}}}%:\thefield{entrytype}? +\ifdef{\cmshyper}% +{\renewrobustcmd*{\cmshyper}[1]{% + \ifboolexpr{% + ( + test {\ifbibliography}% + or + test {\ifnumgreater{\the\value{refsection}}{3}}% + ) + and + not test {\ifnumequal{\the\value{refsection}}{8}}% + }% + {\printtext[bibhyperref]{#1}}% + {\printtext[cmsbiblink]{#1}}}}% +{}% +\ifdef{\cmsrelhyper}% +{\renewrobustcmd*{\cmsrelhyper}[1]{% + \ifhyperref% + {\ifbibliography% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {\iftoggle{cms@allshort}% + {\IfSubStr{\thefield{savedoptions}}{skipbib}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}%% + {\bibhyperref[\thefield{savedentrykey}]{#1}}}% + {\iftoggle{cms@fullnote}% + {\ifentryseen{\thefield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {\bibhyperref[\thefield{savedentrykey}]{#1}}}}}% + {#1}}}% +{}% \renewbibmacro*{cite:journal}{% \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% @@ -382,3 +386,7 @@ \ifblank{#1}{}{\scriptsize,\, s.v.\\[1pt]\enquote{#1}}}} \newrobustcmd*{\cmspagref}[1]{\marginpar{\href{\@baseurl% page.\getpagerefnumber{#1}}{p.~\getpagerefnumber{#1}}}} +\newrobustcmd*{\cmstabref}[2][]{\marginpar{\href{\@baseurl% + \getrefbykeydefault{#2}{anchor}{}}% + {\footnotesize Table\,\getrefnumber{#2}}% + \ifblank{#1}{}{\scriptsize,\, s.v.\\[1pt]\enquote{#1}}}} diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty new file mode 100644 index 00000000000..5f6d430831b --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty @@ -0,0 +1,560 @@ +% Copyright (c) 2003 John Lavagnino +% 2003 Ulrich Dirr +% 2020 David Fussner +% +% This package is currently maintained by David Fussner. +% +% This work may be copied, distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. The latest +% version of this license is in http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. This software is provided as is, +% without warranty of any kind, either expressed or implied, +% including, but not limited to, the implied warranties of +% merchantability and fitness for a particular purpose. + +% This package is ultimately based on John Lavagnino's "endnotes" +% package, and also on Ulrich Dirr's code, from comp.text.tex, adding +% hyperref support to Lavagnino's package. Dirr's code has never, to +% my knowledge, been released as a separate package. My own +% contribution is to allow users easily to split the endnotes by part, +% chapter, section, or subsection when they are printed all at once at +% the end of a document, which is the arrangement the Chicago Manual +% envisages for books by a single author. This arrangement was +% possible before by using the \addtoendnotes command in your +% document, but this was tricky to automate, hence the following. + +% Please see biblatex-chicago.pdf for details of how to use this +% package. + +\ProvidesPackage{cmsendnotes}[2020/04/20 v 3.14 biblatex auxiliary package] + +\RequirePackage{kvoptions} +\RequirePackage{endnotes} +\RequirePackage{etoolbox} +\RequirePackage{nameref} + +\SetupKeyvalOptions{% + family=cms@end, + prefix=cms@end@}% + +\DeclareStringOption{split}[chapter] + +\DeclareStringOption{headername}% 2 + +\DeclareStringOption{subheadername}% 3 + +\DeclareStringOption{runningname}% 4 + +% \DeclareStringOption{introname}[\prefacename] (#5) now provided by +% biblatex-chicago's noterefintro option + +%%% For general hyperref functionality + +\DeclareBoolOption[true]{hyper}% + +%%% Dirr's \ifenotelinks, "for back-links in the endnote section" + +\DeclareBoolOption[true]{enotelinks}% + +%%% In case users want to roll their own using \addtoendnotes or +%%% separate sectioning commands + +\DeclareBoolOption{noheader}% + +%%% Stops the printing of the subhead when using split endnotes + +\DeclareBoolOption{nosubheader}% + +%%% Provides flush-left block formatting for endnote text, instead of +%%% usual first-line indent + +\DeclareBoolOption{blocknotes}% + +%%% For attempting more elegantly to hide the zeros in section numbers + +%% \DeclareBoolOption{hidezeros}% Moved to cbx. + +\ProcessKeyvalOptions* + +%%% Dirr's hyperendnotes.sty, with CMS extensions, starts here + +\providetoggle{cms@entheader} +\newcounter{Hendnote} +\newcounter{cms@enttotal} +\newcounter{cms@entprinted} + +%%% Hyperendnotes redefines portions of the endnotes package, now +%%% further redefined for CMS + +%% The absence of a Roman zero messes with .ent file creation and +%% printing, so we reluctantly redefine \thepart here + +\renewcommand{\thepart}{% + \ifnumequal{\csuse{c@part}}{0}% + {\@arabic{\c@part}}% + {\@Roman{\c@part}}} + +\let\cms@entlist\@empty + +% This allows splitting by "part" to work, suboptimally, with babel's +% French option + +\ifdef{\ifFBPartNameFull}{\FBPartNameFullfalse}{}% + +%% This creates as many .ent files as there are different relevant +%% sections, the relevant section being that given by the "split" +%% option. It uses biblatex commands to patch the relevant section +%% commands when they appear in the document. In the absence of the +%% "split" option, it reverts to standard endnotes package .ent file +%% handling. + +\ifx\cms@end@split\@empty +\def\@openenotes{% + \immediate\openout\@enotes=\jobname.ent\relax + \global\@enotesopentrue}% +\else +\AtEndPreamble{% + \ifdefstring{\cms@end@split}{section}% + {\blx@refpatch@sect{section}{\cms@closechap}{1}% + \ifundef\chapter + {}% + {\blx@refpatch@chapter\cms@closechap}}% + {\ifdefstring{\cms@end@split}{subsection}% + {\blx@refpatch@sect{subsection}{\cms@closechap}{1}% + \ifundef\chapter + {}% + {\blx@refpatch@chapter\cms@closechap}}% + {\ifboolexpr{% + test {\ifdefstring{\cms@end@split}{chapter}}% + or + test {\ifdefstring{\cms@end@split}{part}}% + }% + {\csuse{blx@refpatch@\cms@end@split}\cms@closechap}% + {}}}}% +\def\@openenotes{% + \stepcounter{cms@enttotal}% + \listxadd\cms@entlist{\csuse{the\cms@end@split}}% + \immediate\openout\@enotes=\jobname\csuse{the\cms@end@split}.ent\relax + \global\@enotesopentrue}% +\fi + +\def\cms@closechap{% + \immediate\closeout\@enotes + \global\@enotesopenfalse} + +\long\def\addtoendnotes#1{% + \if@enotesopen \else \@openenotes \fi + \begingroup + \newlinechar='40 + \let\protect\string + \immediate\write\@enotes{#1}% + \endgroup} + +\let\savedhref\href +\let\savedurl\url + +\def\endnotemark{% + \@ifnextchar[%] + \@xendnotemark{% + \stepcounter{endnote}% + \protected@xdef\@theenmark{\theendnote}% + \protected@xdef\@theenvalue{\number\c@endnote}% + \@endnotemark}}% + +\def\@xendnotemark[#1]{% + \begingroup\c@endnote#1\relax + \unrestored@protected@xdef\@theenmark{\theendnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@endnote}% + \endgroup + \@endnotemark}% + +\def\endnotetext{% + \@ifnextchar[%] + \@xendnotenext{% + \protected@xdef\@theenmark{\theendnote}% + \protected@xdef\@theenvalue{\number\c@endnote}% + \@endnotetext}}% + +\def\@xendnotenext[#1]{% + \begingroup + \c@endnote=#1\relax + \unrestored@protected@xdef\@theenmark{\theendnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@endnote}% + \endgroup + \@endnotetext}% + +\def\endnote{% + \@ifnextchar[%] + \@xendnote{% + \stepcounter{endnote}% + \protected@xdef\@theenmark{\theendnote}% + \protected@xdef\@theenvalue{\number\c@endnote}% + \@endnotemark\@endnotetext}}% + +\def\@xendnote[#1]{% + \begingroup + \c@endnote=#1\relax + \unrestored@protected@xdef\@theenmark{\theendnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@endnote}% + \show\@theenvalue + \endgroup + \@endnotemark\@endnotetext}% + +%% This macro is part of the core of the endnotes and hyperendnotes +%% code, with cmsendnotes booleans to control when the hyper +%% extensions are used. + +\def\@endnotemark{% + \leavevmode + \ifhmode + \edef\@x@sf{\the\spacefactor}\nobreak + \fi + \ifcms@end@hyper + \ifcms@end@enotelinks + \expandafter\@firstofone + \else + \expandafter\@gobble + \fi + {% + \Hy@raisedlink{% + \hyper@@anchor{Hendnotepage.\@theenvalue}{\empty}% + }% + }% + \hyper@linkstart{link}{Hendnote.\@theenvalue}% + \makeenmark + \hyper@linkend + \else + \makeenmark + \fi + \ifhmode + \spacefactor\@x@sf + \fi + \relax}% + +\long\def\@endnotetext#1{% + \if@enotesopen + \else + \@openenotes + \fi + \immediate\write\@enotes{% + \@doanenote{\@theenmark}{\@theenvalue}% + }% + \begingroup + \def\next{#1}% + \newlinechar='40 + \immediate\write\@enotes{\meaning\next}% + \endgroup + \immediate\write\@enotes{% + \@endanenote}}% + +%% This new command prints each .ent file separately, with +%% configurable headings. With an optional argument, it prints only +%% that particular .ent file, again with configurable heading. If +%% the "split" option isn't set, it reverts to the standard endnotes +%% package command \theendnotes. The starred version prints no +%% headings at all, just the notes. + +\newrobustcmd*{\theendnotesbypart}{\@ifstar\@theendnotesbypart% + \@@theendnotesbypart}% + +\newcommand*{\@@theendnotesbypart}[1][]{% + \ifcsvoid{cms@end@split}% + {\theendnotes}% + {\ifblank{#1}% + {\def\do##1{% + \IfFileExists{\jobname##1.ent}% + {\theendnotesbypart@i[##1]% + \stepcounter{cms@entprinted}}% + {}}% + \dolistcsloop{cms@entlist}}% + {\toggletrue{cms@entheader}% + \theendnotesbypart@i[#1]% + \togglefalse{cms@entheader}}}}% + +\newcommand*{\@theendnotesbypart}[1][]{% + \cms@end@noheadertrue + \ifcsvoid{cms@end@split}% + {\theendnotes}% + {\ifblank{#1}% + {\def\do##1{% + \IfFileExists{\jobname##1.ent}% + {\theendnotesbypart@i[##1]% + \stepcounter{cms@entprinted}}% + {}}% + \dolistcsloop{cms@entlist}}% + {\toggletrue{cms@entheader}% + \cms@end@nosubheadertrue% + \theendnotesbypart@i[#1]% + \togglefalse{cms@entheader}% + \cms@end@nosubheaderfalse}}\cms@end@noheaderfalse}% + +\def\theendnotesbypart@i[#1]{% + \ifx\cms@end@headername\@empty + \def\cms@end@headername{\notesname}\fi + \theendnotesbypart@ii[#1]{\cms@end@headername}}% + +\def\cms@choose@subhead{% + \ifcsname \cms@end@split name\endcsname% + \csuse{\csuse{cms@end@split}name}% + \else + \cms@end@split% + \fi} + +\def\cms@localize@subhead{% + \ifcsname \cms@end@subheadername name\endcsname% + \csuse{\csuse{cms@end@subheadername}name}% + \else + \cms@end@subheadername% + \fi} + +\def\theendnotesbypart@ii[#1]#2{% + \ifx\cms@end@subheadername\@empty + \theendnotesbypart@iii[#1]#2{\cms@choose@subhead}% + \else + \theendnotesbypart@iii[#1]#2{\cms@localize@subhead}% + \fi} + +\def\theendnotesbypart@iii[#1]#2#3{% + \ifx\cms@end@runningname\@empty + \def\cms@end@runningname{Notes to}\fi + \theendnotesbypart@iv[#1]#2#3{\cms@end@runningname}}% + +\def\cms@localize@introname{% + \ifcsname \cms@note@introname name\endcsname% + \csuse{\csuse{cms@note@introname}name}% + \else + \cms@note@introname% + \fi} + +\def\theendnotesbypart@iv[#1]#2#3#4{% + \ifdefvoid{\cms@note@introname}% + {\theendnotesbypart@v[#1]#2#3#4[]}% + {\theendnotesbypart@v[#1]#2#3#4[\cms@localize@introname]}}% + +%%% [sec. no.]{gen. title}{sec. title}{#2 + prepos.}[intro. name] + +\def\theendnotesbypart@v[#1]#2#3#4[#5]{% + \immediate\closeout\@enotes + \global\@enotesopenfalse + \begingroup + \makeatletter + \edef\@tempa{`\string>}% + \ifnum\catcode\@tempa=12 + \let\@ResetGT\relax + \else + \edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}% + \@makeother\>% + \fi + \def\@doanenote##1##2##3>{% + \def\@theenmark{##1}% + \def\@theenvalue{##2}% + \par + \enoteskip% Configurable vertical gap between endnotes + \begingroup + \def\href{\expandafter\savedhref}% + \def\url{\expandafter\savedurl}% + \@ResetGT + \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}% + \toggletrue{blx@footnote}\toggletrue{cms@endnote}% + \enoteformat + }% + \def\@endanenote{% + \par\endgroup + }% + % Redefine, how numbers are formatted in the endnotes-section: + \renewcommand*\@makeenmark{% + \hbox{\normalfont\@theenmark.~}% + }% + % header(s) of endnote section(s) + \def\enoteheader{\section*{\MakeCapital{#2}}}% + \def\enotesubheader{% + \subsection*{\MakeCapital{#3}\ \zero@sect{#1}}% + \@mkboth{\MakeUppercase{#4\ #3}\ \zero@sect{#1}}% + {\MakeUppercase{#4\ #3}\ \zero@sect{#1}}% + \mbox{}\par\vskip-\baselineskip}% + \def\enotepartheader{% + \subsection*{\MakeCapital{#3}\ \zero@sect{#1}}% + \@mkboth{\MakeUppercase{#4\ #3}\ \zero@sect{#1}}% + {\MakeUppercase{#4\ #3}\ \zero@sect{#1}}% + \mbox{}\par\vskip-\baselineskip}% + \def\intropartheader{% + \subsection*{\MakeCapital{#5},\ \zeri@intro{#1}}% + \@mkboth{\MakeUppercase{#4\ #5}\ \zeri@intro{#1}}% + {\MakeUppercase{#4\ #5}\ \zeri@intro{#1}}% + \mbox{}\par\vskip-\baselineskip}% + \def\introsubheader{% + \subsection*{\MakeCapital{#5}}% + \@mkboth{\MakeUppercase{#4\ #5}}% + {\MakeUppercase{#4\ #5}}% + \mbox{}\par\vskip-\baselineskip}% + % Tests for which header(s), if any, to print + \ifcms@end@noheader + \let\enoteheader\relax\fi + \ifcms@end@nosubheader + \ifcms@end@noheader + \else + \iftoggle{cms@entheader}% + {}% + {\ifnumgreater{\value{cms@entprinted}}{0}% + {}% + {\enoteheader\mbox{}\par\vskip-\baselineskip}}\fi% + \else + \ifboolexpr{% + test {\ifblank{#5}}% + or + not test {\IfBeginWith{#1}{0}}% + }% + {\iftoggle{cms@entheader}% + {\enotepartheader}% + {\ifnumgreater{\value{cms@entprinted}}{0}% + {\enotesubheader}% + {\enoteheader\enotesubheader}}}% + {\ifboolexpr{% + test {\IfBeginWith{#1}{0.}}% + or + test {\IfBeginWith{#1}{0,}}% + }% + {\IfInteger{#1} + {\iftoggle{cms@entheader}% + {\introsubheader}% + {\ifnumgreater{\value{cms@entprinted}}{0}% + {\introsubheader}% + {\enoteheader\introsubheader}}}% + {\StrGobbleLeft{\@xs@afterinteger}{1}[\temp@r]% + \IfEq{\temp@r}{0}% + {\iftoggle{cms@entheader}% + {\introsubheader}% + {\ifnumgreater{\value{cms@entprinted}}{0}% + {\introsubheader}% + {\enoteheader\introsubheader}}}% + {\iftoggle{cms@entheader}% + {\intropartheader}% + {\ifnumgreater{\value{cms@entprinted}}{0}% + {\intropartheader}% + {\enoteheader\intropartheader}}}}}% + {\iftoggle{cms@entheader}% + {\introsubheader}% + {\ifnumgreater{\value{cms@entprinted}}{0}% + {\introsubheader}% + {\enoteheader\introsubheader}}}}\fi% + % font-size of endnotes -- by default set to \small + \enotesize + \input{\jobname#1.ent}%\cms@input@ent% + \endgroup}% + +%% An inelegant kludge attempting to remove zeros from section numbers +%% while retaining minimal descriptive accuracy + +%\newrobustcmd*{\cmspref}{\emph{pref}}% Moved to .cbx file + +\newrobustcmd*{\zero@sect}[1]{% + \IfBeginWith{#1}{0}% + {#1}% + {\iftoggle{cms@hidezeros} + {\StrSubstitute{#1}{.0.0}{.1\ (\cmspref)}[\temp@a]% + \StrSubstitute{\temp@a}{,0,0}{,1\ (\cmspref)}[\temp@a]% + \StrSubstitute{\temp@a}{.0.}{.\cmspref.}[\temp@a]% + \StrSubstitute{\temp@a}{,0,}{,\cmspref,}[\temp@a]% + \StrSubstitute{\temp@a}{.0}{.1\ (\cmspref)}[\temp@a]% + \StrSubstitute{\temp@a}{,0}{,1\ (\cmspref)}}% + {#1}}}% + +\newrobustcmd*{\zeri@intro}[1]{% + \cmsintrosection\ \StrGobbleLeft{#1}{2}}% + +\def\enoteheading{\section*{\notesname} + \@mkboth{\MakeUppercase{\notesname}}% + {\MakeUppercase{\notesname}}% + \mbox{}\par\vskip-\baselineskip} + +\def\theendnotes{% + \immediate\closeout\@enotes + \global\@enotesopenfalse + \begingroup + \makeatletter + \edef\@tempa{`\string>}% + \ifnum\catcode\@tempa=12 + \let\@ResetGT\relax + \else + \edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}% + \@makeother\>% + \fi + \def\@doanenote##1##2##3>{% + \def\@theenmark{##1}% + \def\@theenvalue{##2}% + \par + \enoteskip% Configurable vertical gap between endnotes + \begingroup + \def\href{\expandafter\savedhref}% + \def\url{\expandafter\savedurl}% + \@ResetGT + \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}% + \enoteformat + }% + \def\@endanenote{% + \par\endgroup + }% + % Redefine, how numbers are formatted in the endnotes-section: + \renewcommand*\@makeenmark{% + \hbox{\normalfont\@theenmark.~}% + }% + % header of endnotes-section, defined by endnotes.sty, with CMS + % option not to print it at all + \ifcms@end@noheader + \else + \enoteheading + \fi + % font-size of endnotes + \enotesize + \input{\jobname.ent}%\cms@input@ent% + \endgroup}% + +%% The second core part of the hyperendnotes code, again with CMS +%% booleans to control when the hyperref functionality is switched on + +\def\enoteformat{% + \ifcms@end@blocknotes + \rightskip\z@ + \leftskip1.8em + \parindent\z@ + \else + \rightskip\z@ + \leftskip\z@ + \parindent1.8em + \fi + \leavevmode\llap{% + \setcounter{Hendnote}{\@theenvalue}% + \addtocounter{Hendnote}{-1}% + \refstepcounter{Hendnote}% + \ifcms@end@hyper + \ifcms@end@enotelinks + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + {\@firstofone}% + {\hyperlink{Hendnotepage.\@theenvalue}}% + {\makeenmark}% + \else + \makeenmark + \fi}}% + +%%% Here the hyperendnotes code stops redefining portions of +%%% the endnotes package + +%%% This sets the CMS default, which is to turn on both the general +%%% hyperref functionality and the back-links from the endnotes +%%% section to the main text, assuming that the hyperref package is +%%% loaded. If it isn't, we don't. Also, set defaults for two +%%% formatting macros. + +\AtEndPreamble{% + \@ifpackageloaded{hyperref}% + {}{\cms@end@hyperfalse}}% + +\def\enotesize{\small} +\let\enoteskip\relax + +\endinput |