diff options
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex')
31 files changed, 2188 insertions, 920 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty index f2e140f676..0f5eb4f1fd 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty @@ -1,4 +1,4 @@ -% Copyright (c) 2009-2021 David Fussner. This package is +% Copyright (c) 2009-2022 David Fussner. This package is % author-maintained. % % This work may be copied, distributed and/or modified under the @@ -11,7 +11,7 @@ % but not limited to, the implied warranties of merchantability and % fitness for a particular purpose. -\ProvidesPackage{biblatex-chicago}[2021/06/30 v 3.16 biblatex style] +\ProvidesPackage{biblatex-chicago}[2022/07/02 v 3.18 biblatex style] \RequirePackage{etoolbox} \RequirePackage{nameref}% this already loads kvoptions @@ -42,6 +42,7 @@ \DeclareStringOption{casechanger}[auto] \DeclareStringOption{backend}[biber] \DeclareStringOption{datamodel} +\DeclareStringOption{cmsnameparts}[western] \ProcessLocalKeyvalOptions{cms@ldt} @@ -68,6 +69,10 @@ \else \PassOptionsToPackage{casechanger=\cms@ldt@casechanger}{biblatex} \fi +\ifx\cms@ldt@cmsnameparts\@empty +\else +\PassOptionsToPackage{datamodel=cms}{biblatex} +\fi \def\cms@authordate{% \RequirePackage[style=chicago-authordate]{biblatex}% @@ -89,7 +94,7 @@ 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}} + nodates=true,uniquename=minfull}} \def\cms@authordatetrad{% \RequirePackage[style=chicago-authordate-trad]{biblatex}% @@ -122,7 +127,7 @@ 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}} + nodates=true,uniquename=minfull}} \def\cms@authordatetrold{% \RequirePackage[style=chicago-authordate-trad16]{biblatex}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx index a9d035cd51..1d019da5e1 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx @@ -4,7 +4,7 @@ % the author-date (trad) style of the Chicago Manual of Style, 17th % edition. -\ProvidesFile{chicago-authordate-trad.cbx}[2021/03/27 v 3.16 biblatex +\ProvidesFile{chicago-authordate-trad.cbx}[2022/07/02 v 3.18 biblatex citation style] \RequireCitationStyle{chicago-dates-common} @@ -213,10 +213,12 @@ citation style] \printfield[subtitle]{subtitle}}}} \newbibmacro*{italtitle+stitle}{% - \printtext{% - \printfield{title}% - \setunit{\subtitlepunct}% - \printfield[subtitle]{subtitle}}% + \iffieldundef{title}% + {}% + {\printtext{% + \printfield{title}% + \setunit{\subtitlepunct}% + \printfield[subtitle]{subtitle}}}% \setunit{\ptitleaddonpunct}% \printfield{titleaddon}% \setunit{\addspace}% @@ -224,20 +226,22 @@ citation style] \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 + \iffieldundef{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}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx index 1c11045f60..69a16aff26 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx @@ -3,7 +3,7 @@ % 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}[2021/03/27 v 3.16 biblatex +\ProvidesFile{chicago-authordate-trad16.cbx}[2022/07/02 v 3.18 biblatex citation style] \RequireCitationStyle{chicago-dates-common16} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx index f428770259..30fecc564f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx @@ -2,7 +2,7 @@ % 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}[2021/06/30 v 3.16 biblatex +\ProvidesFile{chicago-authordate.bbx}[2022/07/02 v 3.18 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -611,7 +611,7 @@ bibliography style] {\@firstoftwo}% {\@secondoftwo}}% -\renewcommand*{\revsdnamedelim}{\addcomma} +\DeclareDelimFormat{revsdnamedelim}{\finalandcomma}% \DeclareNameAlias{author}{sortname}% Needed in 0.9 \DeclareNameAlias{editor}{sortname} @@ -649,10 +649,9 @@ bibliography style] {\ifnameundef{labelname}% {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% \ifentrytype{periodical}}% - {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% - \newcunit}}% + {\printfield[journaltitle]{journaltitle}\newcunit}% {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% - {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% + {\printlist{organization}\newcunit}% {}}}% {\ifboolexpr{% test {\iffieldequalstr{labelnamesource}{shortauthor}}% @@ -671,18 +670,26 @@ bibliography style] \finentry}}} \DeclareBibliographyDriver{shortjournal}{% - \iffieldundef{journaltitle}% - {\printtext[title]{% - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}% - \setunit*{\addspace}% + \ifentrytype{periodical}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}% + \setunit{\addspace}% \printlist[periodplace]{location}}% - {\printtext[journaltitle]{% - \printfield[jtnoformat]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[sjtnoformat]{journalsubtitle}}% - \setunit*{\addspace}% + {\iffieldundef{journaltitle}% + {\printfield{journaltitleaddon}}% + {\printtext[journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{journaltitleaddon}}% + \setunit{\addspace}% \printlist[periodplace]{location}}% \finentry}% @@ -900,6 +907,7 @@ bibliography style] \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{begentry}% + \usebibmacro{shorthand:author}% \usebibmacro{mag+news+author}% \newunit\newblock \usebibmacro{cmsbibsortdate}% @@ -950,6 +958,7 @@ bibliography style] \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{begentry}% + \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock \ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}% @@ -1005,7 +1014,7 @@ bibliography style] \usebibmacro{author/editor}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% - \usebibmacro{cmscitesortdate}% 17th ed. ?? + \usebibmacro{cmsbibsortdate}[1]% 17th ed. ?? \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% \newunit\newblock @@ -1056,7 +1065,11 @@ bibliography style] \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% and + ( not test {\iffieldundef{title}}% + or + not test {\iffieldundef{titleaddon}}% + ) }% {\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -1064,7 +1077,11 @@ bibliography style] \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% or + ( test {\iffieldundef{title}}% + and + test {\iffieldundef{titleaddon}}% + ) }% {}{\usebibmacro{italtitle+stitle}}% \newunit\newblock% 16th ed. @@ -1073,7 +1090,8 @@ bibliography style] \usebibmacro{part+editor+translator}% \newunit\newblock \usebibmacro{music+eventdate}% 17th ed. - \iffieldundef{eventyear}% + \ifthenelse{\iffieldundef{eventyear}\AND\NOT% + \(\iffieldundef{title}\AND\iffieldundef{titleaddon}\)}% {\newcunit}% {\newunit}% \usebibmacro{chapinscore}% @@ -1604,7 +1622,7 @@ bibliography style] \usebibmacro{author/editor}% \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}% - \usebibmacro{cmscitesortdate}% + \usebibmacro{cmsbibsortdate}[1]% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% \newunit\newblock% 16th ed. added * (?) @@ -2685,7 +2703,11 @@ bibliography style] \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% and + ( not test {\iffieldundef{title}}% + or + not test {\iffieldundef{titleaddon}}% + ) }% {\usebibmacro{italtitle+stitle}}{}% \usebibmacro{cmsbibsortdate}% @@ -2693,7 +2715,11 @@ bibliography style] \ifboolexpr{% test {\ifundef{\bbx@lasthash}}% or + ( test {\iffieldundef{title}}% + and + test {\iffieldundef{titleaddon}}% + ) }% {}{\usebibmacro{italtitle+stitle}}% \newunit% 16th ed. @@ -2840,9 +2866,9 @@ bibliography style] \usebibmacro{time+stamp}% \iftoggle{cms@switchdates}% {\clearfield{orighour}\clearfield{origyear}\clearfield{origmonth}% - \clearfield{origday}\clearfield{origseason}}% + \clearfield{origday}\clearfield{origyeardivision}}% {\clearfield{hour}\clearfield{year}\clearfield{month}% - \clearfield{day}\clearfield{season}}% + \clearfield{day}\clearfield{yeardivision}}% \newunit\newblock}% \usebibmacro{related:init}% \usebibmacro{related}}% @@ -2864,7 +2890,15 @@ bibliography style] \newunit\newblock \printfield{addendum}% \newunit\newblock - \ifthenelse{\iffieldundef{urlyear}\AND\iffieldundef{urlmonth}}% + \ifboolexpr{% + ( + test {\iffieldundef{urlyear}}% + and + test {\iffieldundef{urlmonth}}% + ) + or + togl {cms@doinodate}% + }% {}% {\printurldate% \ifboolexpr{% @@ -2905,10 +2939,11 @@ bibliography style] \DeclareBibliographyDriver{patent}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% + \usebibmacro{shorthand:author}% \usebibmacro{author+holder}% + holder? \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{patenttitle+stitle}}{}% - \usebibmacro{cmscitesortdate}% + \usebibmacro{cmsbibsortdate}[1]% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{patenttitle+stitle}}% \setunit{\newunitpunct}% @@ -3013,6 +3048,7 @@ bibliography style] \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% \usebibmacro{begentry}% + \usebibmacro{shorthand:author}% \usebibmacro{editor}% \newunit\newblock \ifboolexpr{% @@ -3021,25 +3057,37 @@ bibliography style] not togl {cms@origpublished}% }% {\ifboolexpr{% + not test {\iffieldundef{shorttitle}}% + and + (( togl {cms@bibjtabb}% and test {\ifbibliography}% + ) + or + ( + test {\iffieldundef{title}}% and - not test {\iffieldundef{shorttitle}}% + test {\iffieldundef{titleaddon}}% + )) }% {\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}{}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}}% + \setunit{\addspace}% + \printlist[periodplace]{location}% + \clearlist{location}% + \clearfield{shorttitle}% + \clearfield{title}% + \clearfield{subtitle}% + \newunit\newblock}{}% \usebibmacro{cmsbibsortdate}% \newunit\newblock \usebibmacro{issuetitle}% @@ -3076,6 +3124,7 @@ bibliography style] \usebibmacro{finentry}} {\usebibmacro{bibindex}% \usebibmacro{begentry}% + \usebibmacro{shorthand:author}% \usebibmacro{editor}% \newunit\newblock \ifboolexpr{% @@ -3084,25 +3133,37 @@ bibliography style] not togl {cms@origpublished}% }% {\ifboolexpr{% + not test {\iffieldundef{shorttitle}}% + and + (( togl {cms@bibjtabb}% and test {\ifbibliography}% + ) + or + ( + test {\iffieldundef{title}}% and - not test {\iffieldundef{shorttitle}}% + test {\iffieldundef{titleaddon}}% + )) }% {\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}{}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \clearlist{location}% + \clearfield{shorttitle}% + \clearfield{title}% + \clearfield{subtitle}% + \newunit\newblock}{}% \usebibmacro{cmsbibsortdate}% \newunit\newblock \usebibmacro{issuetitle}% @@ -3347,6 +3408,7 @@ bibliography style] \DeclareBibliographyDriver{review}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% + \usebibmacro{shorthand:author}% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{mag+news+author}}% {\usebibmacro{author/editor}}% @@ -3472,7 +3534,7 @@ bibliography style] \ifundef{\bbx@lasthash}{\usebibmacro{italtitle+stitle}}{}% \ifthenelse{\iffieldundef{userd}\AND\iffieldundef{howpublished}}% {\usebibmacro{cmsbibsortdate}}% - {\usebibmacro{cmscitesortdate}}% Like Patent entries (?) + {\usebibmacro{cmsbibsortdate}[1]}% Like Patent entries (?) \newunit\newblock \ifundef{\bbx@lasthash}{}% {\usebibmacro{italtitle+stitle}}% @@ -3811,7 +3873,9 @@ bibliography style] and test {\iffieldundef{urlmonth}}% ) - }% + or + togl {cms@doinodate}% + }% {}% {\printurldate% \ifboolexpr{% @@ -3882,10 +3946,15 @@ bibliography style] \newbibmacro*{shorthand:label}{% Test this \ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% \ifentrytype{periodical}}% Simplifies .bib creation - {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}}}% + {\printfield[journaltitle]{journaltitle}}% {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% - {\printtext[bibhyperref]{\printlist{organization}}}% - {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}}% + {\printlist{organization}}% + {\ifthenelse{\ifentrytype{article}\OR\ifentrytype{review}\OR% + \ifentrytype{suppperiodical}}% + {\iffieldundef{shorttitle}% Authorless articles w/o subtype + {\printfield[citetitle]{title}}% + {\printfield[citetitle]{shorttitle}}}% + {\printfield[citetitle]{labeltitle}}}}}% \newbibmacro*{labelyear+extrayear}{% \ifboolexpr{ ( @@ -4017,13 +4086,47 @@ bibliography style] \newbibmacro*{cmsextradate}{% For use with some date specs \iffieldundef{extradate}% - {}% + {\ifboolexpr{% For authorless articles in newspapers & magazines + not test {\iffieldundef{extratitleyear}}% + and + ( + test {\ifentrytype{article}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + ) + and + test {\iffieldequalstr{entrysubtype}{magazine}}% + and + test {\ifnameundef{labelname}}% + }% + {\setunit*{}% + \printfield{extratitleyear}\clearfield{extratitleyear}}% + {}}% {\setunit*{}% \printfield{extradate}\clearfield{extradate}}} \newbibmacro*{cmsparensextradate}{% For use with other date specs \iffieldundef{extradate}% - {}% + {\ifboolexpr{% For authorless articles in newspapers & magazines + not test {\iffieldundef{extratitleyear}}% + and + ( + test {\ifentrytype{article}}% + or + test {\ifentrytype{review}}% + or + test {\ifentrytype{suppperiodical}}% + ) + and + test {\iffieldequalstr{entrysubtype}{magazine}}% + and + test {\ifnameundef{labelname}}% + }% + {\setunit*{}% + \mkbibparens{\printfield{extratitleyear}}\clearfield{extratitleyear}}% + {}}% {\setunit*{}% \mkbibparens{\printfield{extradate}}\clearfield{extradate}}} @@ -4164,9 +4267,9 @@ bibliography style] \newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX \begingroup \blx@metadateinfo{#2}% - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -4175,7 +4278,7 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifdateyearsequal{#2}{#2end}% {\iffieldsequal{#2month}{#2endmonth}% {\csuse{mkbibdate#1}{}{}{#2day}}% @@ -4185,12 +4288,12 @@ bibliography style] {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -4207,13 +4310,13 @@ bibliography style] {}% \iffieldundef{#2endyear}% {\iffieldundef{#2endmonth}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% {\bibdaterangesep% - \csuse{mkbibseasondate#1}{}{#2endseason}}}% + \csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}}% {\bibdaterangesep% \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% {\iffieldequalstr{#2endyear}{}% @@ -4242,13 +4345,13 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdatedash% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -4264,9 +4367,9 @@ bibliography style] \newrobustcmd*{\cms@mkbibrangefull}[2]{% \begingroup \blx@metadateinfo{#2}% - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -4275,7 +4378,7 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}} {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \ifboolexpr{% test {\ifdateyearsequal{#2}{#2end}}% @@ -4286,7 +4389,7 @@ bibliography style] }% {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% {\cmsdateeraprint{#2year}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}% \if@cms@bracket% {\if@cms@uncertain% @@ -4302,7 +4405,7 @@ bibliography style] {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -4332,9 +4435,9 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdaterangesep% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -4351,7 +4454,8 @@ bibliography style] \global\boolfalse{cms:extraparens}% \begingroup \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% - \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \clearfield{#3endday}\clearfield{#3yeardivision}% + \clearfield{#3endyeardivision}% \blx@metadateinfo{#3}% \iffieldundef{#3year} {\blx@nounit}% @@ -4543,25 +4647,14 @@ bibliography style] \newbibmacro*{standard+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% or new declaration ??? - {\ifboolexpr{% - test {\ifentrytype{misc}}% - or - test {\ifentrytype{dataset}}% - or - not togl {cms@nodates}}% - {}% - {\bibstring{nodate}}}% + {\iftoggle{cms@nodates}% + {\bibstring{nodate}}% + {}}% {\iffieldundef{year}% {\iffieldundef{eventyear}% {\iffieldundef{origyear}% {\iffieldundef{userd}% - {\ifboolexpr{% - togl {cms@nodates}% - and - not test {\ifentrytype{misc}}% - and - not test {\ifentrytype{dataset}}% - }% + {\iftoggle{cms@nodates}% {\bibstring{nodate}}% {}}% {\printurldateextra% @@ -4576,25 +4669,14 @@ bibliography style] \newbibmacro*{origfirst+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% - {\ifboolexpr{% - test {\ifentrytype{misc}}% - or - test {\ifentrytype{dataset}}% - or - not togl {cms@nodates}}% - {}% - {\bibstring{nodate}}}% + {\iftoggle{cms@nodates}% + {\bibstring{nodate}}% + {}}% {\iffieldundef{origyear}% {\iffieldundef{year}% {\iffieldundef{eventyear}% {\iffieldundef{userd}% - {\ifboolexpr{% - togl {cms@nodates}% - and - not test {\ifentrytype{misc}}% - and - not test {\ifentrytype{dataset}}% - }% + {\iftoggle{cms@nodates}% {\bibstring{nodate}}% {}}% {\printurldateextra% @@ -4609,25 +4691,14 @@ bibliography style] \newbibmacro*{av+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% - {\ifboolexpr{% - test {\ifentrytype{misc}}% - or - test {\ifentrytype{dataset}}% - or - not togl {cms@nodates}}% - {}% - {\bibstring{nodate}}}% + {\iftoggle{cms@nodates}% + {\bibstring{nodate}}% + {}}% {\iffieldundef{eventyear}% {\iffieldundef{origyear}% {\iffieldundef{year}% {\iffieldundef{userd}% - {\ifboolexpr{% - togl {cms@nodates}% - and - not test {\ifentrytype{misc}}% - and - not test {\ifentrytype{dataset}}% - }% + {\iftoggle{cms@nodates}% {\bibstring{nodate}}% {}}% {\printurldateextra% @@ -4644,7 +4715,8 @@ bibliography style] {\IfBeginWith{\thefield{labeldatesource}}{orig}% {\iftoggle{cms@switchdates}% {\printdate\newunit\printorigdate}% - {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}% + {\ifthenelse{\iffieldundef{origmonth}\AND% + \iffieldundef{origyeardivision}}% {\iffieldundef{year}{}{\printdate}}% {\printorigdate% \iffieldundef{year}% @@ -4652,7 +4724,7 @@ bibliography style] {\newunit\printdate}}}}% {\IfBeginWith{\thefield{labeldatesource}}{event}% {}% - {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{yeardivision}}% {}{\printdate}}}}% {\ifboolexpr{% togl {cms@origlabel}% @@ -4662,18 +4734,19 @@ bibliography style] togl {cms@bothlabelnew}% }% {\iftoggle{cms@switchdates}% - {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{yeardivision}}% {\printorigdate}% {\printdate\newunit\printorigdate}}% - {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}% + {\ifthenelse{\iffieldundef{origmonth}\AND% + \iffieldundef{origyeardivision}}% {\printdate}% {\printorigdate\newunit\printdate}}}% {\iftoggle{cms@switchdates}% - {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{yeardivision}}% {\printorigdate}% {\printdate\newunit\printorigdate}}% {\iffieldundef{origyear}% - {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}% + {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{yeardivision}}% {}% {\printdate}}% {\printorigdate% @@ -4682,17 +4755,20 @@ bibliography style] {\newunit\printdate}}}}}} \newbibmacro*{clear+datefield}[1]{% - \iffieldundef{#1day}% - {\iffieldundef{#1endyear}% - {\clearfield{#1year}}% - {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}% + \iftoggle{cms@leaveit}% + {}% + {\iffieldundef{#1day}% + {\iffieldundef{#1endyear}% {\clearfield{#1year}}% - {\ifdateyearsequal{#1}{#1end}% - {\clearfield{#1year}\clearfield{#1endyear}}% - {}}}}% - {}} + {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1yeardivision}}% + {\clearfield{#1year}}% + {\ifdateyearsequal{#1}{#1end}% + {\clearfield{#1year}\clearfield{#1endyear}}% + {}}}}% + {}}} -\newbibmacro*{cmsbibsortdate}{% Attempt to solve date-related problems +\newbibmacro*{cmsbibsortdate}[1][]{% Attempt to solve date-related problems + \ifblank{#1}{\togglefalse{cms@leaveit}}{\toggletrue{cms@leaveit}}% \ifboolexpr{% test {\iffieldundef{origyear}}% or @@ -4748,11 +4824,11 @@ bibliography style] {\iffieldundef{origyear}% {\iftoggle{cms@ordate}% ??? {}% - {\clearfield{extradate}}% + {\clearfield{extradate}\clearfield{extratitleyear}}% \usebibmacro{standard+labelyear+extrayear}}% {\iftoggle{cms@ordate}% {\usebibmacro{origfirst+labelyear+extrayear}}% - {\clearfield{extradate}% + {\clearfield{extradate}\clearfield{extratitleyear}% \printorigdateextra%\usebibmacro{origyear+endyear}% \usebibmacro{clear+datefield}{orig}}}}}}% @@ -4785,7 +4861,7 @@ bibliography style] {\iffieldundef{origyear}% {\iftoggle{cms@ordate}% {}% - {\clearfield{extradate}}% + {\clearfield{extradate}\clearfield{extratitleyear}}% \usebibmacro{standard+labelyear+extrayear}}% {\iftoggle{cms@ordate}% ??? {\iffieldundef{year}% @@ -4795,13 +4871,13 @@ bibliography style] \usebibmacro{origfirst+labelyear+extrayear}% \bibcloseparen% \setunit*{\addspace}% - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \printdateextra}}}% \usebibmacro{year+endyear} {\iffieldundef{year}% {\usebibmacro{origfirst+labelyear+extrayear}}% {\printtext{% \bibopenparen% - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \printorigdateextra% % \usebibmacro{origyear+endyear}% \bibcloseparen% @@ -5053,7 +5129,7 @@ bibliography style] \printfield[jourser]{series}% \newcunit}%\setunit*{\addspace}? \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND% - \iffieldundef{issue}\AND\iffieldundef{#1season}}% + \iffieldundef{issue}\AND\iffieldundef{#1yeardivision}}% {\iffieldundef{volume}% {\newcunit% \printfield[journum]{number}% @@ -5081,7 +5157,7 @@ bibliography style] \setunit{\addspace}% \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}% \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND% - \iffieldundef{#1season}}% Test year for related entries?? + \iffieldundef{#1yeardivision}}% Test year for related entries?? {\ifthenelse{\iffieldundef{bookpagination}\AND% \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% @@ -5108,7 +5184,7 @@ bibliography style] \setunit{\addspace}% \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}% \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND% - \iffieldundef{#1season}}% See prev. macro + \iffieldundef{#1yeardivision}}% See prev. macro {\ifthenelse{\iffieldundef{bookpagination}\AND% \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx index b3d9453eef..a189ac1abf 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx @@ -3,7 +3,7 @@ % intention of providing inline citations (and a reference list) for % the author-date style of the Chicago Manual of Style, 17th edition. -\ProvidesFile{chicago-authordate.cbx}[2021/03/27 v 3.16 biblatex +\ProvidesFile{chicago-authordate.cbx}[2022/07/02 v 3.18 biblatex citation style] \RequireCitationStyle{chicago-dates-common} @@ -158,10 +158,12 @@ citation style] \printfield[stnoformat]{subtitle}}}} \newbibmacro*{italtitle+stitle}{% - \printtext[title]{% - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}% + \iffieldundef{title}% + {}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}}% \setunit{\ptitleaddonpunct}% \printfield{titleaddon}% \setunit{\addspace}% @@ -169,20 +171,22 @@ citation style] \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 + \iffieldundef{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}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx index 813a3cf2d1..0a3756b3c8 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx @@ -2,7 +2,7 @@ % standard.bbx and from chicago-notes.bbx. It provides the % reference list formatting for the Chicago author-date style. -\ProvidesFile{chicago-authordate16.bbx}[2021/06/30 v 3.16 biblatex +\ProvidesFile{chicago-authordate16.bbx}[2022/07/02 v 3.18 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -3550,7 +3550,7 @@ bibliography style] \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -3559,7 +3559,7 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifdateyearsequal{#2}{#2end}% {\iffieldsequal{#2month}{#2endmonth}% {\csuse{mkbibdate#1}{}{}{#2day}}% @@ -3569,12 +3569,12 @@ bibliography style] {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -3591,13 +3591,13 @@ bibliography style] {}% \iffieldundef{#2endyear}% {\iffieldundef{#2endmonth}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% {\bibdaterangesep% - \csuse{mkbibseasondate#1}{}{#2endseason}}}% + \csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}}% {\bibdaterangesep% \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% {\iffieldequalstr{#2endyear}{}% @@ -3626,13 +3626,13 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdatedash% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -3650,7 +3650,7 @@ bibliography style] \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -3659,7 +3659,7 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}} {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \ifboolexpr{% test {\ifdateyearsequal{#2}{#2end}}% @@ -3670,7 +3670,7 @@ bibliography style] }% {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% {\cmsdateeraprint{#2year}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}% \if@cms@bracket% {\if@cms@uncertain% @@ -3686,7 +3686,7 @@ bibliography style] {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -3716,9 +3716,9 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdaterangesep% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -3735,7 +3735,8 @@ bibliography style] \global\boolfalse{cms:extraparens}% \begingroup \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% - \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \clearfield{#3endday}\clearfield{#3yeardivision}% + \clearfield{#3endyeardivision}% \blx@metadateinfo{#3}% \iffieldundef{#3year} {\blx@nounit}% @@ -4008,7 +4009,7 @@ bibliography style] \newbibmacro*{clear+datefield}[1]{% \iffieldundef{#1endyear}% {\clearfield{#1year}}% - {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}% + {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1yeardivision}}% {\clearfield{#1year}}% {\ifdateyearsequal{#1}{#1end}% {\clearfield{#1year}\clearfield{#1endyear}}% @@ -4360,7 +4361,7 @@ bibliography style] \printfield[jourser]{series}% \newcunit}%\setunit*{\addspace}? \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{issue}\AND\iffieldundef{season}}% + \iffieldundef{issue}\AND\iffieldundef{yeardivision}}% {\iffieldundef{volume}% {\newcunit% \printfield[journum]{number}% @@ -4388,7 +4389,7 @@ bibliography style] \setunit{\addspace}% \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}% \AND\iffieldundef{number}\AND\iffieldundef{year}\AND% - \iffieldundef{season}}% Test year for related entries?? + \iffieldundef{yeardivision}}% Test year for related entries?? {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% {\setunit{\addcolon\addspace}}}% This may not be universally correct. @@ -4414,7 +4415,7 @@ bibliography style] \setunit{\addspace}% \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}% \AND\iffieldundef{number}\AND\iffieldundef{year}\AND% - \iffieldundef{season}}% See prev. macro + \iffieldundef{yeardivision}}% See prev. macro {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% {\setunit{\addcolon\addspace}}}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx index fff90b8a0e..3978c623a0 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx @@ -3,7 +3,7 @@ % providing inline citations (and a reference list) for the % author-date style of the Chicago Manual of Style, 16th edition. -\ProvidesFile{chicago-authordate16.cbx}[2021/03/27 v 3.16 biblatex +\ProvidesFile{chicago-authordate16.cbx}[2022/07/02 v 3.18 biblatex citation style] \RequireCitationStyle{chicago-dates-common16} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx index 7a410eba8a..7c1f797561 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx @@ -4,7 +4,7 @@ % list) for the two author-date styles of the Chicago Manual of Style, % 17th edition. -\ProvidesFile{chicago-dates-common.cbx}[2021/03/27 v 3.16 biblatex +\ProvidesFile{chicago-dates-common.cbx}[2022/07/02 v 3.18 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -15,6 +15,7 @@ citation style] \newbool{cms:comma} \newbool{cms:atcite} \newbool{cms:tcit} +\newbool{cms:postsh} \providecommand*{\mkibid}[1]{#1} @@ -35,6 +36,8 @@ citation style] \providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa \providetoggle{cms@noyearbrackets}% \providetoggle{cms@authorparens} +\providetoggle{cms@strippunct} +\providetoggle{cms@postspace} \providetoggle{cms@modpostnote} \providetoggle{cms@ukord} \providetoggle{cms@fullnote}% For the legal entry types @@ -44,6 +47,7 @@ citation style] \providetoggle{cms@urltime}% 17th ed. \providetoggle{cms@doi} \providetoggle{cms@doionly} +\providetoggle{cms@doinodate} \providetoggle{cms@eprint} \providetoggle{cms@isbn} \providetoggle{cms@numbermonth} @@ -51,6 +55,7 @@ citation style] \providetoggle{cms@shser} \providetoggle{cms@addendum} \providetoggle{cms@hidevolumes}% Modify Volume fix +\providetoggle{cms@notitle}% For classical short notes \providetoggle{cms@comprange} \providetoggle{cms@compyears} @@ -81,6 +86,8 @@ citation style] \providetoggle{cms@xrefurl} \providetoggle{cms@related} \providetoggle{cms@linkit} +\providetoggle{cms@linkname} +\providetoggle{cms@leaveit} \providetoggle{cms@authortitle} \providetoggle{cms@shortrelated} @@ -183,9 +190,15 @@ citation style] \DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{% \settoggle{cms@genallnames}{#1}}% -\DeclareBiblatexOption{global,entry}[boolean]{hypertitle}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{hypertitle}[true]{% \settoggle{cms@linkit}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{hypername}[true]{% + \settoggle{cms@linkname}{#1}}% + +\DeclareBiblatexOption{global,type,entry}[boolean]{hyperall}[true]{% + \settoggle{cms@linkit}{#1}\settoggle{cms@linkname}{#1}}% + \DeclareBiblatexOption{global,type,entry}[string]{annotation}[true]{% \ifcsdef{cms@opt@annot@#1}% {\csuse{cms@opt@annot@#1}}% @@ -315,10 +328,10 @@ citation style] \DeclareBiblatexOption{global,type,entry}[boolean]{dashed}[true]{% \settoggle{cms@namedash}{#1}} -\DeclareBibliographyOption[boolean]{short}[true]{% - \global\settoggle{cms@allshort}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{short}[true]{% + \settoggle{cms@allshort}{#1}} -\DeclareBiblatexOption{global,entry}[boolean]{noneshort}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{noneshort}[true]{% \settoggle{cms@noneshort}{#1}} \DeclareBibliographyOption[boolean]{legalnotes}[true]{% @@ -330,8 +343,8 @@ citation style] \DeclareBibliographyOption[boolean]{cmslos}[true]{% \global\settoggle{cms@los}{#1}}% -\DeclareBibliographyOption[boolean]{noibid}[true]{% - \global\settoggle{cms@noibid}{#1}}% +\DeclareBiblatexOption{global,type,entry}[boolean]{noibid}[true]{% + \settoggle{cms@noibid}{#1}}% \DeclareBibliographyOption[boolean]{compresspages}[true]{% \global\settoggle{cms@comprange}{#1}}% @@ -345,7 +358,7 @@ citation style] \DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% \settoggle{blx@usenamec}{#1}}% -\DeclareBiblatexOption{global,entry}[boolean]{nodates}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{nodates}[true]{% \settoggle{cms@nodates}{#1}}% \DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{% @@ -486,8 +499,33 @@ citation style] \def\cms@opt@ctao@period{% \def\ctitleaddonpunct{\newunitpunct}}% +\DeclareBiblatexOption{global,type,entry}[string]{jtitleaddon}[space]{% + \ifcsdef{cms@opt@jtao@#1}% + {\csuse{cms@opt@jtao@#1}}% + {\csuse{cms@opt@jtao@space}\cms@warning@noline% + {'jtitleaddon=#1' is not a valid option.\MessageBreak + The default - 'space' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@jtao@none{% + \let\jtitleaddonpunct\@empty}% +\def\cms@opt@jtao@comma{% + \def\jtitleaddonpunct{\addcomma\addspace}}% +\def\cms@opt@jtao@colon{% + \def\jtitleaddonpunct{\addcolon\addspace}}% +\def\cms@opt@jtao@space{% + \def\jtitleaddonpunct{\addspace}}% +\def\cms@opt@jtao@semicolon{% + \def\jtitleaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@jtao@period{% + \def\jtitleaddonpunct{\newunitpunct}}% + % The field-exclusion options % +\DeclareBiblatexOption{global,type,entry}[boolean]{notitle}[true]{% + \settoggle{cms@notitle}{#1}% + \iftoggle{cms@notitle}{\toggletrue{cms@linkname}}{}}% + \DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{% \settoggle{cms@urltime}{#1}}% @@ -505,6 +543,9 @@ citation style] \togglefalse{cms@doi}}% \def\cms@opt@doi@only{% \toggletrue{cms@doionly}}% +\def\cms@opt@doi@onlynd{% + \toggletrue{cms@doionly}% + \toggletrue{cms@doinodate}}% \DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% \settoggle{cms@eprint}{#1}}% \DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{% @@ -543,11 +584,14 @@ citation style] \settoggle{cms@authortitle}{#1}}% \ExecuteBibliographyOptions{includeall,hidevolumes,booklongxref,related,% - ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes,% - dashed,bibannotesep,citeannotesep,nameaddonsep=space}% + ctitleaddon,ptitleaddon,jtitleaddon,journalabbrev=notes,legalnotes,% + supranotes,dashed,bibannotesep,citeannotesep,nameaddonsep=space}% \ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}% -\ExecuteBibliographyOptions[dataset]{authortitle=true}% +\ExecuteBibliographyOptions[dataset]{authortitle=true,nodates=false}% +\ExecuteBibliographyOptions[misc]{nodates=false}% + +\ExecuteBibliographyOptions[article,review,suppperiodical]{labeltitleyear=true} \iftoggle{cms@legalnotes}% {\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% @@ -583,6 +627,27 @@ citation style] \field{titleaddon}% \field{title}}% +%% This is an ugly kludge, only required because we need the extradate +%% mechanism for authorless articles in magazines where the +%% journaltitle takes the place of the author, and the labelname +%% mechanism won't accept non-name fields. No other idea presenting +%% itself, we use the extratitleyear mechanism in these 3 types, and +%% this declaration keeps any article with an author from interfering +%% with it. It means we can't simply print the labeltitle for these +%% entry types. + +\DeclareLabeltitle[article,review,suppperiodical]{% + \field{shortauthor} + \field{author} + \field{shorteditor} + \field{namea} + \field{editor} + \field{nameb} + \field{translator} + \field{namec} + \field{shortjournal} + \field{journaltitle}}% + \DeclareDataInheritance{collection}{suppcollection}{% \inherit{title}{title} \inherit{subtitle}{subtitle} @@ -628,6 +693,16 @@ citation style] \noinherit{indexsorttitle} } +\DeclareDataInheritance{audio,music,video}{audio,music,video}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + \DeclareDataInheritance{*}{*}{% \noinherit{namea} \noinherit{nameb} @@ -638,7 +713,7 @@ citation style] \noinherit{urlyear} \noinherit{urlmonth} \noinherit{urlday} - \noinherit{urlseason} + \noinherit{urlyeardivision} \noinherit{urlhour} \noinherit{urlminute} \noinherit{doi} @@ -651,19 +726,19 @@ citation style] \noinherit{year} \noinherit{month} \noinherit{day} - \noinherit{season} + \noinherit{yeardivision} \noinherit{endyear} \noinherit{endmonth} \noinherit{endday} - \noinherit{endseason} + \noinherit{endyeardivision} \noinherit{origyear} \noinherit{origmonth} \noinherit{origday} - \noinherit{origseason} + \noinherit{origyeardivision} \noinherit{origendyear} \noinherit{origendmonth} \noinherit{origendday} - \noinherit{origendseason}} + \noinherit{origendyeardivision}} % More authordate options % @@ -772,6 +847,350 @@ citation style] \DefineBibliographyExtras{american}{% \DeclarePunctuationPairs{comma}{*!?}} +%%%% These are the macros and declarations needed to use non-default +%%%% name presentations, including new name parts and different +%%%% orderings of existing name parts. All of this becomes available +%%%% only when a user sets the "cmsnameparts" option. Nearly all of it +%%%% comes from the standard biblatex example file 93-nameparts.tex, +%%%% with changes to make it possible for users to add new name +%%%% treatments and also to set a new default name presentation style +%%%% for their documents. + +\ifdefvoid{\cms@ldt@cmsnameparts}{}{% + + %% Wrapper for biblatex's Template declarations, allowing a chosen + %% named template also to provide the default ("global") template. + %% <template command><[template name]><definition of template> + + \def\cms@template@wrapper#1[#2]#3{% + \def\cms@tpl{#2} + \ifx\cms@ldt@cmsnameparts\cms@tpl + #1{#3}% + #1[#2]{#3} + \blx@warning@noline{#2 is the So Global Template} + \else + #1[#2]{#3} + \blx@warning@noline{#2 is the Local Template} + \fi} + + %% Name format declarations for bibliography and notes. The + %% "default" format is for the head of long notes and for names in + %% the body of long notes and bibliography entries. They should work + %% for any name styles users might want to add themselves. + + \DeclareNameFormat{sortname}{% + \ifdefstring{\blx@refcontext@sortingnamekeytemplatename}{global}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts-rev}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:\cms@ldt@cmsnameparts-rev}}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts}% + {\csuse{cmssort:\cms@ldt@cmsnameparts}}% + {\csuse{cmssort:western}}}}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts}% + {\csuse{cmssort:\cms@ldt@cmsnameparts}}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:western-rev}}% + {\csuse{cmssort:western}}}}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename-rev}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename-rev}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename}}% + {\csuse{cmssort:western}}}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename}}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:western-rev}}% + {\csuse{cmssort:western}}}}}% + \usebibmacro{name:andothers}}% + + \DeclareNameFormat{default}{% + \ifdefstring{\blx@refcontext@sortingnamekeytemplatename}{global}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts}% + {\csuse{cmssort:\cms@ldt@cmsnameparts}}% + {\csuse{cmssort:western}}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename}}% + {\csuse{cmssort:western}}}% + \usebibmacro{name:andothers}}% + + \DeclareNameFormat{labelname}{% + \ifdefstring{\blx@refcontext@sortingnamekeytemplatename}{global}% + {\ifcsdef{cmslabel:\cms@ldt@cmsnameparts}% + {\csuse{cmslabel:\cms@ldt@cmsnameparts}}% + {\csuse{cmslabel:western}}}% + {\ifcsdef{cmslabel:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmslabel:\blx@refcontext@sortingnamekeytemplatename}}% + {\csuse{cmslabel:western}}}% + \usebibmacro{name:andothers}}% + + %% These are the template definitions for the four pre-defined + %% styles, each with two templates, one for the sortname and one for + %% the labelname. The "western" style, as in 93-nameparts.tex, is + %% identical to biblatex's default style, but giving it a name + %% allows other styles to become the default, if desired. You will + %% need one template of each sort for any new style you wish to + %% provide. + + \cms@template@wrapper{\DeclareSortingNamekeyTemplate}[cjk]{ + \keypart{ + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{cjk} + } + } + + \cms@template@wrapper{\DeclareUniquenameTemplate}[cjk]{ + \namepart[base=true]{family} + \namepart[disambiguation=full]{given} + \namepart[disambiguation=full]{cjk} + } + + \cms@template@wrapper{\DeclareSortingNamekeyTemplate}[ethiopian]{ + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{patronymic} + } + \keypart{ + \namepart{papponymic} + } + } + + \cms@template@wrapper{\DeclareUniquenameTemplate}[ethiopian]{ + \namepart[base=true]{given} + \namepart[disambiguation=full]{patronymic} + \namepart[disambiguation=full]{papponymic} + } + + \cms@template@wrapper{\DeclareSortingNamekeyTemplate}[russian]{ + \keypart{ + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{patronymic} + } + } + + \cms@template@wrapper{\DeclareUniquenameTemplate}[russian]{ + \namepart[base=true]{family} + \namepart{given} + \namepart{patronymic} + } + + \DeclareSortingNamekeyTemplate[western]{ + \keypart{ + \namepart[use=true]{prefix} + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{suffix} + } + \keypart{ + \namepart[use=false]{prefix} + } + } + + \DeclareUniquenameTemplate[western]{ + \namepart[use=true, base=true]{prefix} + \namepart[base=true]{family} + \namepart{given} + } + + %% These bibmacros print the names when the standard biblatex + %% equivalents are insufficient. You only need to provide a new one + %% for a new style if standard biblatex doesn't provide one that is + %% suitable. + + \newbibmacro*{name:cjk}[3]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \mkbibnamefamily{#1}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnamecjk{#3}}} + + \newbibmacro*{name:ethiopian}[3]{% + \usebibmacro{name:delim}{#1#2#3}% + \usebibmacro{name:hook}{#1#2#3}% + \mkbibethgiven{#1}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibethpat{#2}\isdot}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibethpap{#3}\isdot}} + + \let\mkbibethgiven\mkbibnamefamily + \let\mkbibethpat\mkbibnamegiven + \let\mkbibethpap\mkbibnamegiven + + \newbibmacro*{name:russian}[3]{% + \usebibmacro{name:delim}{#1#2#3}% + \usebibmacro{name:hook}{#1#2#3}% + \ifdefvoid{#2} + {} + {\mkbibnamegiven{#2}\isdot\bibnamedelimd + \ifdefvoid{#3} + {} + {\mkbibnamepatronymic{#3}\isdot\bibnamedelimd}}% + \mkbibnamefamily{#1}} + + \newbibmacro*{name:russian-rev}[3]{% + \usebibmacro{name:delim}{#1#2#3}% + \usebibmacro{name:hook}{#1#2#3}% + \mkbibnamefamily{#1}% + \ifdefvoid{#2} + {} + {\revsdnamepunct\bibnamedelimd + \mkbibnamegiven{#2}\isdot + \ifdefvoid{#3} + {} + {\bibnamedelimd\mkbibnamepatronymic{#3}\isdot}}} + + %% These macros call the name-printing bibmacros with the + %% appropriate arguments for the "sortname" and "default" name + %% formats. Each style needs at least one for printing sortnames, + %% and possibly a second if you wish to reverse the first name in a + %% list. + + \csdef{cmssort:cjk}{% + \usebibmacro{name:cjk} + {\namepartfamily} + {\namepartgiven} + {\namepartcjk}}% + + \csdef{cmssort:russian}{% + \usebibmacro{name:russian} + {\namepartfamily} + {\namepartgiven} + {\namepartpatronymic}}% + + \csdef{cmssort:russian-rev}{% + \usebibmacro{name:russian-rev} + {\namepartfamily} + {\namepartgiven} + {\namepartpatronymic}% + \ifboolexpe{% + test {\ifdefvoid\namepartgiven} + and + test {\ifdefvoid\namepartpatronymic}} + {}% + {\usebibmacro{name:revsdelim}}}% + + \csdef{cmssort:ethiopian}{% + \usebibmacro{name:ethiopian} + {\namepartgiven} + {\namepartpatronymic} + {\namepartpapponymic}}% + + \csdef{cmssort:western}{% + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}}% + + \csdef{cmssort:western-rev}{% + \usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \ifboolexpe{% + test {\ifdefvoid\namepartgiven} + and + test {\ifdefvoid\namepartprefix}} + {}% + {\usebibmacro{name:revsdelim}}}% + + %% These macros call the name-printing macros for the labelname, + %% i.e., in short notes. You'll need one for each new style you wish + %% to provide for your documents. + + \csdef{cmslabel:cjk}{% + \iffieldequalstr{uniquepart}{base}% + {\usebibmacro{name:cjk} + {\namepartfamily} + {\empty} + {\empty}} + {\iffieldequalstr{uniquepart}{given}% + {\usebibmacro{name:cjk} + {\namepartfamily} + {\namepartgiven} + {\empty}} + {\usebibmacro{name:cjk} + {\namepartfamily} + {\namepartgiven} + {\namepartcjk}}}} + + \csdef{cmslabel:ethiopian}{% + \iffieldequalstr{uniquepart}{base}% + {\usebibmacro{name:ethiopian} + {\namepartgiven} + {\empty} + {\empty}} + {\iffieldequalstr{uniquepart}{patronymic}% + {\usebibmacro{name:ethiopian} + {\namepartgiven} + {\namepartpatronymic} + {\empty}} + {\usebibmacro{name:ethiopian} + {\namepartgiven} + {\namepartpatronymic} + {\namepartpapponymic}}}} + + \csdef{cmslabel:russian}{% + \iffieldequalstr{uniquepart}{base}% + {\usebibmacro{name:russian} + {\namepartfamily} + {\empty} + {\empty}} + {\ifnum\namepartgivenun=1\relax + \usebibmacro{name:russian} + {\namepartfamily} + {\namepartgiveni} + {\namepartpatronymici}% + \else + \usebibmacro{name:russian} + {\namepartfamily} + {\namepartgiven} + {\namepartpatronymic}% + \fi}} + + \csdef{cmslabel:western}{% + \ifcase\value{uniquename}% + \usebibmacro{name:family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \or + \ifuseprefix + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffixi}} + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefixi} + {\namepartsuffixi}}% + \or + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \fi}} + %%%% Macros from authoryear-comp.cbx, revised for CMS %%%% \newbibmacro*{cite:init}{% @@ -859,12 +1278,12 @@ citation style] \newbibmacro*{cmsbracketname}{% \iffieldequalstr{authortype}{anon}% - {\printtext{\bibleftbracket\printnames{labelname}% + {\printtext[cmsnamehyper]{\bibleftbracket\printnames{labelname}% \bibrightbracket}}% {\iffieldequalstr{authortype}{anon?}% - {\printtext{\bibleftbracket\printnames{labelname}?% + {\printtext[cmsnamehyper]{\bibleftbracket\printnames{labelname}?% \bibrightbracket}}% - {\printnames{labelname}}}}% + {\printtext[cmsnamehyper]{\printnames{labelname}}}}}% \newbibmacro*{citeyear}{% \ifboolexpr{% @@ -913,6 +1332,15 @@ citation style] {\savefield{fullhash}{\cbx@lasthash}}% {}}}}% +\def\cms@choose@unit{% + \ifboolexpr{% + togl {cms@notitle}% + and + bool {cbx:parens}% + }% + {\printunit}% + {\setunit}} + \newbibmacro*{textcite}{% \iftoggle{cms@los}% {\usebibmacro{textcite:authshort}}% @@ -920,7 +1348,14 @@ citation style] \newbibmacro*{textcite:authshort}{% \iffieldequals{fullhash}{\cbx@lasthash}% - {\iffieldundef{postnote}% + {\ifbool{cbx:parens}% + {}% + {\iftoggle{cms@notitle}% + {}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}}% + \iffieldundef{postnote}% {\iffieldequals{fullhash}{\cbx@lastyear}% {\setunit{\multicitedelim}% \global\undef\cbx@lastyear}% @@ -933,7 +1368,11 @@ citation style] }% {\setunit{\multicitedelim}}% {\setunit{\compcitedelim}}}}% - {\setunit{\multicitedelim}}% + {\ifbool{cbx:parens}% + {\cms@choose@unit{\multicitedelim}}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}}% \ifboolexpr{% togl {cms@authortitle}% or @@ -987,21 +1426,30 @@ citation style] {\usebibmacro{prenote}}% {}% \usebibmacro{cmscitesortdate}}}% - {\printnames{labelname}% + {\printtext[cmsnamehyper]{% + \printnames{labelname}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}}% \ifboolexpr{% - togl {cms@gencite}% + togl {cms@notitle}% and - ( - test {\iffinalcitedelim}% - or - togl {cms@genallnames}% - ) + not test {\iffieldundef{postnote}}% }% - {\thegen}% - {}% - \setunit{% - \global\booltrue{cbx:parens}% - \cms@testspace\bibopenparen}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% \ifnumequal{\value{citecount}}{1}% {\usebibmacro{prenote}}% {}% @@ -1015,21 +1463,30 @@ citation style] {\usebibmacro{cite:label}}}% {\usebibmacro{cmscitesortdate}}% \savefield{fullhash}{\cbx@lasthash}}}% - {\printfield{shorthand}% + {\printtext[cmsnamehyper]{% + \printfield{shorthand}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}}% \ifboolexpr{% - togl {cms@gencite}% + togl {cms@notitle}% and - ( - test {\iffinalcitedelim}% - or - togl {cms@genallnames}% - ) + not test {\iffieldundef{postnote}}% }% - {\thegen}% - {}% - \setunit{% - \global\booltrue{cbx:parens}% - \cms@testspace\bibopenparen}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% \ifnumequal{\value{citecount}}{1}% {\usebibmacro{prenote}}% {}% @@ -1052,129 +1509,172 @@ citation style] \newbibmacro*{textcite:citeshort}{% \iffieldequals{fullhash}{\cbx@lasthash}% - {\iffieldundef{shorthand}% - {\iffieldundef{postnote}% - {\iffieldequals{fullhash}{\cbx@lastyear}% - {\setunit{\multicitedelim}% - \global\undef\cbx@lastyear}% - {\ifboolexpr{% - togl {cms@authortitle}% - or - test {\iffieldequalstr{entrysubtype}{classical}}% - or - bool {cms:atcite}% - }% - {\setunit{\multicitedelim}}% - {\setunit{\compcitedelim}}}}% - {\setunit{\multicitedelim}}% - \ifboolexpr{% - togl {cms@authortitle}% - or - test {\iffieldequalstr{entrysubtype}{classical}}% - }% - {\usebibmacro{cite:label}}% - {\usebibmacro{cmscitesortdate}}}% - {\iffieldundef{postnote}% - {\iffieldequals{fullhash}{\cbx@lastyear}% - {\setunit{\multicitedelim}% - \global\undef\cbx@lastyear}% - {\ifbool{cms:atcite}% - {\setunit{\multicitedelim}}% - {\setunit{\compcitedelim}}}}% - {\setunit{\multicitedelim}}% - \printtext[bibhyperref]{% - \printfield{shorthand}}}}% - {\ifthenelse{\ifnameundef{labelname}\OR - \ifentrytype{inreference}\OR - \ifentrytype{reference}\OR - \ifentrytype{mvreference}}% - {\iffieldundef{shorthand}% - {\ifboolexpr{% + {\ifbool{cms:postsh}% + {\ifciteibid% + {\ifbool{cbx:parens}% + {\iffieldundef{postnote}% + {}% + {\printunit{\multicitedelim}}}% + {\iffieldundef{postnote}% + {}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}}}% + {\global\boolfalse{cms:postsh}% + \ifbool{cbx:parens}% + {\printunit{\bibcloseparen\global\boolfalse{cbx:parens}% + \textcitedelim}% + \usebibmacro{textcite:mainref}}% + {\printunit{\textcitedelim}% + \usebibmacro{textcite:mainref}}}}% + {\ifbool{cbx:parens}% + {}% + {\iftoggle{cms@notitle}% + {}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}}% + \iffieldundef{shorthand}% + {\iffieldundef{postnote}% + {\iffieldequals{fullhash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + or + bool {cms:atcite}% + }% + {\setunit{\multicitedelim}}% + {\setunit{\compcitedelim}}}}% + {\ifbool{cbx:parens}% + {\cms@choose@unit{\multicitedelim}}% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}}% + \ifboolexpr{% togl {cms@authortitle}% or test {\iffieldequalstr{entrysubtype}{classical}}% }% - {\ifentrytype{customc}% - {\setunit{% - \global\booltrue{cbx:parens}% - \multicitedelim}%\bibopenparen% - \ifnumequal{\value{citecount}}{1}% - {\usebibmacro{prenote}\clearfield{prenote}}% - {}% - \savefield{postnote}{\cms@tempz}\clearfield{postnote}% - \usebibmacro{cite:label}% - \restorefield{postnote}{\cms@tempz}}% - {\setunit{% - \global\booltrue{cbx:parens}% - \cms@testspace\bibopenparen}% - \ifnumequal{\value{citecount}}{1}% - {\usebibmacro{prenote}}% - {}% - \usebibmacro{cite:label}}}% - {\usebibmacro{cite:label}% - \ifboolexpr{% - togl {cms@gencite}% - and - ( - test {\iffinalcitedelim}% - or - togl {cms@genallnames}% - ) - }% - {\thegen}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}}% + {\iffieldundef{postnote}% + {\iffieldequals{fullhash}{\cbx@lastyear}% + {\global\undef\cbx@lastyear}% + {}}% + {}% + \setunit{\multicitedelim}% + \printtext[bibhyperref]{% + \printfield{shorthand}}}}}% + {\global\boolfalse{cms:postsh}% + \usebibmacro{textcite:mainref}}% + \setunit{% + \ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}% + \textcitedelim}}% Not \multicitedelim ??? + +\newbibmacro*{textcite:mainref}{% + \iffieldundef{shorthand}% + {\ifthenelse{\ifnameundef{labelname}\OR + \ifentrytype{inreference}\OR + \ifentrytype{reference}\OR + \ifentrytype{mvreference}}% + {\ifboolexpr{% + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + }% + {\ifentrytype{customc}% + {\setunit{% + \global\booltrue{cbx:parens}% + \multicitedelim}%\bibopenparen% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}\clearfield{prenote}}% {}% - \setunit{% + \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{cmscitesortdate}}}% - {\printtext[bibhyperref]{% - \printfield{shorthand}}}}% - {\printnames{labelname}% + \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[cmsnamehyper]{\printnames{labelname}% + \ifboolexpr{% + togl {cms@gencite}% + and + ( + test {\iffinalcitedelim}% + or + togl {cms@genallnames}% + ) + }% + {\thegen}% + {}}% \ifboolexpr{% - togl {cms@gencite}% - and - ( - test {\iffinalcitedelim}% - or - togl {cms@genallnames}% - ) - }% - {\thegen}% - {}% - \setunit{% - \global\booltrue{cbx:parens}% - \cms@testspace\bibopenparen}% + togl {cms@notitle}% + and + not test {\iffieldundef{postnote}}% + }% + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% + {\setunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% \ifnumequal{\value{citecount}}{1}% {\usebibmacro{prenote}}% {}% - \iffieldundef{shorthand}% - {\ifboolexpr{% - togl {cms@authortitle}% - or - test {\iffieldequalstr{entrysubtype}{classical}}% - }% - {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% - {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% - {\usebibmacro{cite:label}}}% - {\usebibmacro{cmscitesortdate}}}% - {\printtext[bibhyperref]{% - \printfield{shorthand}}}% - \savefield{fullhash}{\cbx@lasthash}}% - \stepcounter{textcitecount}}% Added ??? - \setunit{% - \ifbool{cbx:parens}% - {\bibcloseparen\global\boolfalse{cbx:parens}}% + \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}}}% + {\printtext[bibhyperref]{% + \printfield{shorthand}}% + \iffieldundef{postnote}% {}% - \textcitedelim}}% Not \multicitedelim ??? + {\printunit{% + \global\booltrue{cbx:parens}% + \cms@testspace\bibopenparen}}% + \savefield{fullhash}{\cbx@lasthash}% + \global\booltrue{cms:postsh}}% + \stepcounter{textcitecount}} \newbibmacro*{textcite:postnote}{% \iffieldundef{postnote}% {}% {\savefield{fullhash}{\cbx@lastyear}% - \postnotewrapper%\setunit{\postnotewrapper} + \iftoggle{blx@keepunit}{}{\postnotewrapper}% Shorthand or notitle \printfield{postnote}}% \ifthenelse{\value{multicitecount}=\value{multicitetotal}}% {\setunit{}% @@ -1191,82 +1691,85 @@ citation style] \newbibmacro*{cite:shorthand}{% \iftoggle{cms@los}% {\iffieldequals{fullhash}{\cbx@lasthash}% - {\printtext[cmshyper]{% - \ifbool{cms:atcite}% - {\setunit{\multicitedelim}}% - {\setunit{\compcitedelim}}% - \usebibmacro{cmscitesortdate}}}% - {\printfield{shorthand}% - \printtext[cmshyper]{% - \setunit{\nameyeardelim}% - \usebibmacro{cmscitesortdate}}% + {\ifbool{cms:atcite}% + {\setunit{\multicitedelim}}% + {\setunit{\compcitedelim}}% + \usebibmacro{cmscitesortdate}}% + {\printtext[cmsnamehyper]{\printfield{shorthand}}% + \setunit{\nameyeardelim}% + \usebibmacro{cmscitesortdate}% \savefield{fullhash}{\cbx@lasthash}}}% - {\printtext[bibhyperref]{\printfield{shorthand}}% + {\printtext[cmsyearhyper]{\printfield{shorthand}}% \usebibmacro{cite:reinit}}}% \newbibmacro*{cite:shorthand+title}{% \iftoggle{cms@los}% {\iffieldequals{fullhash}{\cbx@lasthash}% - {\printtext[cmshyper]{% - \setunit{\multicitedelim}% - \usebibmacro{cite:label}}}% - {\printfield{shorthand}% - \printtext[cmshyper]{% - \setunit{\addcomma\addspace}% FIXME: wrong in 16th _and_ 17th eds? - \ifthenelse{\ifentrytype{standard}\OR\ifentrytype{manual}}% - {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}% - {\usebibmacro{cite:label}}}% + {\setunit{\multicitedelim}% + \usebibmacro{cite:label}}% + {\printtext[cmsnamehyper]{\printfield{shorthand}}% + \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}}% + {\printtext[cmsyearhyper]{\printfield{shorthand}}% \usebibmacro{cite:reinit}}}% \newbibmacro*{cite:label}{% Test this - \iffieldundef{label}% - {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% - \ifentrytype{periodical}}% Simplifies .bib creation - {\ifboolexpr{% - not test {\iffieldundef{shortjournal}}% - and - (( - test {\ifcitation}% - and - togl {cms@citejtabb}% - ) - or - ( - test {\ifbibliography}% - and - togl {cms@bibjtabb}% - )) - }% - {\printtext[cmshyper]{\printfield[shortjournal]{shortjournal}}}% - {\printtext[cmshyper]{\printfield[journaltitle]{journaltitle}}}}% - {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% - {\printtext[cmshyper]{\printlist{organization}}}% + \iftoggle{cms@notitle}% + {}% + {\iffieldundef{label}% + {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \ifentrytype{periodical}}% Simplifies .bib creation {\ifboolexpr{% - test {\ifentrytype{video}}% + not test {\iffieldundef{shortjournal}}% and - test {\iffieldequalstr{entrysubtype}{tvepisode}}% + (( + test {\ifcitation}% and - not test {\iffieldundef{title}}% + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% and - not test {\iffieldundef{booktitle}}% + togl {cms@bibjtabb}% + )) }% - {\iffieldundef{shorttitle}% - {\printtext[cmshyper]{% + {\printtext[cmshyper]{\printfield[shortjournal]{shortjournal}}}% + {\printtext[cmshyper]{\printfield[journaltitle]{journaltitle}}}}% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% + {\printtext[cmshyper]{\printlist{organization}}}% + {\ifboolexpr{% + test {\ifentrytype{video}}% + and + test {\iffieldequalstr{entrysubtype}{tvepisode}}% + and + not test {\iffieldundef{title}}% + and + not test {\iffieldundef{booktitle}}% + }% + {\iffieldundef{shorttitle}% + {\printtext[cmshyper]{% \printfield{booktitle}% \setunit{\subtitlepunct}% \printfield[booksubtitle]{booksubtitle}}% (?) \setunit{\ctitleaddonpunct}% \printfield{booktitleaddon}% \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}% - {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}% - \setunit{\ctitleaddonpunct}% - \printfield{booktitleaddon}% - \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}}% - {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}}% - {\printtext[cmshyper]{\printfield{label}}}% - \global\booltrue{cms:atcite}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}% + \setunit{\ctitleaddonpunct}% + \printfield{booktitleaddon}% + \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}}% + {\ifthenelse{\ifentrytype{article}\OR\ifentrytype{review}\OR% + \ifentrytype{suppperiodical}}% + {\iffieldundef{shorttitle}% Authorless articles w/o subtype + {\printtext[cmshyper]{\printfield[citetitle]{title}}}% + {\printtext[cmshyper]{\printfield[citetitle]{shorttitle}}}}% + {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}}}% + {\printtext[cmshyper]{\printfield{label}}}% + \global\booltrue{cms:atcite}}}% \newbibmacro*{cite:labelyear+extrayear}{% \ifboolexpr{ ( @@ -1291,27 +1794,15 @@ citation style] \newbibmacro*{cite:standard+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% - {\ifboolexpr{% - test {\ifentrytype{misc}}% - or - test {\ifentrytype{dataset}}% - or - not togl {cms@nodates}% - }% - {}% - {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\iftoggle{cms@nodates}% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}% + {}}% For CMS? {\printtext[cmsyearhyper]{% \iffieldundef{year}% {\iffieldundef{eventyear}% {\iffieldundef{origyear}% {\iffieldundef{userd}% - {\ifboolexpr{% - togl {cms@nodates}% - and - not test {\ifentrytype{misc}}% - and - not test {\ifentrytype{dataset}}% - }% + {\iftoggle{cms@nodates}% {\bibstring{nodate}}% {}}% {\printurldateextra}}% @@ -1322,27 +1813,15 @@ citation style] \newbibmacro*{cite:origfirst+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% - {\ifboolexpr{% - test {\ifentrytype{misc}}% - or - test {\ifentrytype{dataset}}% - or - not togl {cms@nodates}% - }% - {}% - {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\iftoggle{cms@nodates}% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}% For CMS? + {}}% {\printtext[cmsyearhyper]{% \iffieldundef{origyear}% {\iffieldundef{year}% {\iffieldundef{eventyear}% {\iffieldundef{userd}% - {\ifboolexpr{% - togl {cms@nodates}% - and - not test {\ifentrytype{misc}}% - and - not test {\ifentrytype{dataset}}% - }% + {\iftoggle{cms@nodates}% {\bibstring{nodate}}% {}}% {\printurldateextra}}% @@ -1353,27 +1832,15 @@ citation style] \newbibmacro*{cite:av+labelyear+extrayear}{% \ifthenelse{\iffieldundef{labelyear}\OR% \iffieldequalstr{labelyear}{nodate}}% - {\ifboolexpr{% - test {\ifentrytype{misc}}% - or - test {\ifentrytype{dataset}}% - or - not togl {cms@nodates}% - }% - {}% - {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS? + {\iftoggle{cms@nodates}% + {\printtext[cmsyearhyper]{\bibstring{nodate}}}% For CMS? + {}}% {\printtext[cmsyearhyper]{% \iffieldundef{eventyear}% {\iffieldundef{origyear}% {\iffieldundef{year}% {\iffieldundef{userd}% - {\ifboolexpr{% - togl {cms@nodates}% - and - not test {\ifentrytype{misc}}% - and - not test {\ifentrytype{dataset}}% - }% + {\iftoggle{cms@nodates}% {\bibstring{nodate}}% {}}% {\printurldateextra}}% @@ -1452,11 +1919,11 @@ citation style] {\iffieldundef{origyear}% {\iftoggle{cms@ordate}% ??? {}% - {\clearfield{extradate}}% + {\clearfield{extradate}\clearfield{extratitleyear}}% \usebibmacro{cite:standard+labelyear+extrayear}}% {\iftoggle{cms@ordate}% {\usebibmacro{cite:origfirst+labelyear+extrayear}}% - {\clearfield{extradate}% + {\clearfield{extradate}\clearfield{extratitleyear}% \printtext[cmsyearhyper]{% \printorigdateextra}}}}}}% \usebibmacro{origyear+endyear} @@ -1481,13 +1948,13 @@ citation style] \bibopenparen% \usebibmacro{cite:labelyear+extrayear}% \bibcloseparen% - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \addspace% \printorigdateextra}}% \usebibmacro{origyear+endyear} {\iffieldundef{origyear}% ??? {\iftoggle{cms@ordate}% {}% - {\clearfield{extradate}}% + {\clearfield{extradate}\clearfield{extratitleyear}}% \usebibmacro{cite:standard+labelyear+extrayear}}% {\iftoggle{cms@ordate}% Added test for year field ??? {\iffieldundef{year}% @@ -1497,13 +1964,13 @@ citation style] \usebibmacro{cite:origfirst+labelyear+extrayear}% \bibcloseparen% \setunit{\addspace}%\addspace% ??? - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \printdateextra}}}%\usebibmacro{year+endyear} {\iffieldundef{year}% {\usebibmacro{cite:origfirst+labelyear+extrayear}}% {\printtext[cmsyearhyper]{% \bibopenparen% - \clearfield{extradate}% + \clearfield{extradate}\clearfield{extratitleyear}% \printorigdateextra% % \usebibmacro{origyear+endyear}% \bibcloseparen% @@ -2104,6 +2571,8 @@ citation style] togl {cms@url}% and not test {\iffieldundef{urlyear}}% + and + not togl {cms@doinodate}% }% {\printurldate% \ifboolexpr{% 17th ed. @@ -2327,8 +2796,14 @@ citation style] \xappto\cbx@savedkeys{\thefield{entrykey},}% \iffieldequals{fullhash}{\cbx@lasthash}% {}% - {\stepcounter{textcitetotal}% - \savefield{fullhash}{\cbx@lasthash}}} + {\ifboolexpr{% The shorthand isn't a name, but the ID of a whole work. + togl {cms@los}% Hence we don't treat it as common to what follows. + or + test {\iffieldundef{shorthand}}% + }% + {\savefield{fullhash}{\cbx@lasthash}}% + {\global\undef\cbx@lasthash}% + \stepcounter{textcitetotal}}}% {}% {\protected@xappto\cbx@savedcites{% [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} @@ -2368,8 +2843,14 @@ citation style] \xappto\cbx@savedkeys{\thefield{entrykey},}% \iffieldequals{fullhash}{\cbx@lasthash}% {}% - {\stepcounter{textcitetotal}% - \savefield{fullhash}{\cbx@lasthash}}} + {\ifboolexpr{% + togl {cms@los}% + or + test {\iffieldundef{shorthand}}% + }% + {\savefield{fullhash}{\cbx@lasthash}}% + {\global\undef\cbx@lasthash}% + \stepcounter{textcitetotal}}} {}% {\protected@xappto\cbx@savedcites{% [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} @@ -2754,6 +3235,11 @@ citation style] {\bibstring{broadcast}\space #1}% {\printfield{userd}\addspace #1}} +\DeclareFieldFormat{extratitleyear}{% + \iffieldnums{labelyear}% + {\mknumalph{#1}}% + {\mkbibparens{\mknumalph{#1}}}} + \DeclareFieldAlias{userd}{titleaddon}% 16th ed. \DeclareFieldFormat{nameaddon}{% @@ -2802,10 +3288,19 @@ citation style] \DeclareFieldFormat{titleaddon}{% \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? +\DeclareFieldFormat[periodical]{titleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \DeclareFieldAlias{booktitleaddon}{titleaddon} \DeclareFieldAlias{maintitleaddon}{titleaddon} +\DeclareFieldAlias[article,periodical,review,suppperiodical]{maintitleaddon}% +{journaltitleaddon} + +\DeclareFieldFormat{journaltitleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \DeclareFieldFormat{jourser}{% \ifinteger{#1}% {\mkbibordseries{#1}% @@ -2871,25 +3366,28 @@ citation style] \DeclareFieldAlias[suppperiodical]{volume}[article]{volume} -\DeclareFieldFormat{cmshyper}{% Control the number of elements hyperlinked. +\DeclareFieldFormat{cmshyper}{% Control number of elements hyperlinked \ifboolexpr{% - (( - not test {\iffieldequalstr{entrysubtype}{classical}}% - and - not togl {cms@authortitle}% - ) + togl {cms@authortitle}% or - togl {blx@skipbib}% - ) - and - not togl {cms@linkit}% + test {\iffieldequalstr{entrysubtype}{classical}}% }% - {\iftoggle{cms@shortrelated}% - {\ifentryinbib{\strfield{clonesourcekey}}% - {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {\iftoggle{blx@skipbib}% + {\iftoggle{cms@shortrelated}% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% {#1}}% - {#1}}% - {\bibhyperref{#1}}}% + {\bibhyperref{#1}}}% + {\iftoggle{cms@linkit}% + {\iftoggle{blx@skipbib}% + {\iftoggle{cms@shortrelated}% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {#1}}% + {\bibhyperref{#1}}}% + {#1}}}% \DeclareFieldFormat{cmsyearhyper}{% Only link when in ref list \iftoggle{blx@skipbib} @@ -2900,6 +3398,33 @@ citation style] {#1}}% {\bibhyperref{#1}}}% +\DeclareFieldFormat{cmsnamehyper}{% Two cases: 1. only a name is present + \ifboolexpr{% 2. new user option hypername + togl {cms@nodates}% + or + togl {cms@authortitle}% + or + test {\iffieldequalstr{entrysubtype}{classical}}% + or + not test {\iffieldundef{labeldate}}% + }% + {\iftoggle{cms@linkname}% + {\iftoggle{blx@skipbib}% + {\iftoggle{cms@shortrelated}% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {#1}}% + {\bibhyperref{#1}}}% + {#1}}% + {\iftoggle{blx@skipbib}% + {\iftoggle{cms@shortrelated}% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {#1}}% + {\bibhyperref{#1}}}} + %%%% Related field formats from biblatex.def %%%% \DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens @@ -3194,42 +3719,67 @@ citation style] {\newcunit}}% {\newcunit}\DeclareNumChars{.}}}} -\newcommand*{\postnotewrapper}{% - \iftoggle{cms@modpostnote}% Multiple bugs in v 2.0. - {\ifboolexpr{% - test {\iffieldstart{postnote}{,}}% - or - test {\iffieldstart{postnote}{\bibrangessep}}% - }% - {\togglefalse{blx@unit}% +\DeclareListParser{\docmslist}{|} +\DeclareListParser*{\forcmslist}{|} +\newcounter{cms@punct} + +\def\cms@strip@spaces#1{% + \def\do@i##1{% + \iffieldstart{postnote}{##1}% + {\toggletrue{cms@postspace}% \expandarg - \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% - \iffieldstart{postnote}{\ }% - {\setunit{\addcomma}}% - {\newcunit}}% - {\iffieldstart{postnote}{;}% + \StrGobbleLeft{#1}{1}[#1]\listbreak}% + {}}% + \forcmslist{\do@i}{\space|\,|\addspace|\;|\:|\!}} + +\newcommand*{\postnotewrapper}{% To fix bugs in v 2.0 & ff. + \setcounter{cms@punct}{0}% + \iftoggle{cms@modpostnote}% + {\def\do##1{% + \iffieldstart{postnote}{##1}% {\togglefalse{blx@unit}% + \toggletrue{cms@strippunct}% + \ifcase\c@cms@punct% Allows US-style punctuation to work + \def\cms@userpunct{\addcolon}% + \or + \def\cms@userpunct{\addsemicolon}% + \or + \def\cms@userpunct{\addperiod}% + \or + \def\cms@userpunct{\addcomma}% + \or + \def\cms@userpunct{\addcomma}% + \else + \def\cms@userpunct{##1}% + \fi \expandarg \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% + \cms@strip@spaces{\abx@field@postnote}% + \ifboolexpr{% + not test {\iffieldpages{postnote}}% + and + test {\iffieldstart{postnote}{ }}% + }% + {\StrSubstitute[1]{\abx@field@postnote}{ }{\ }[\abx@field@postnote]}% + {}% \iffieldstart{postnote}{\ }% - {\setunit{\addsemicolon}}% - {\setunit{\addsemicolon\addspace}}}% - {\iffieldstart{postnote}{:}% - {\togglefalse{blx@unit}% - \expandarg - \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% - \iffieldstart{postnote}{\ }% - {\setunit{\addcolon}}% - {\setunit{\addcolon\addspace}}}% - {\iffieldstart{postnote}{.}% - {\togglefalse{blx@unit}% - \expandarg - \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% - \iffieldstart{postnote}{\ }% - {\setunit{\addperiod}}% - {\newunit}}% - {\postnotedelim}}}}}% - {\postnotedelim}}% + {\setunit{\cms@userpunct}}% + {\ifboolexpr{% + test {\iffieldstart{postnote}{ }}% + or + togl {cms@postspace}% + }% + {\togglefalse{cms@postspace}% + \setunit{\cms@userpunct\addspace}}% + {\setunit{\cms@userpunct}}}% + \listbreak}% + {\stepcounter{cms@punct}}}% + \docmslist{:|;|.|,|\bibrangessep|\addcolon|\addsemicolon| + \addcomma|\addperiod}% + \iftoggle{cms@strippunct}% + {\togglefalse{cms@strippunct}}% + {\postnotedelim}}% + {\postnotedelim}} \newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from \begingroup% comp.text.tex @@ -3485,10 +4035,15 @@ citation style] togl {cms@namedash}% }% {\printtext{\bibnamedash}}% - {\usebibmacro{journal+sub}{}% - \setunit*{\addspace}% - \printlist[periodplace]{location}% - \savefield{journaltitle}{\bbx@lasthash}}}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\usebibmacro{journal+sub}{}% + \setunit{\addspace}% + \printlist[periodplace]{location}\bibcloseparen% + \savefield{journaltitle}{\bbx@lasthash}}% + {\usebibmacro{journal+sub}{}% + \setunit{\addspace}% + \printlist[periodplace]{location}% + \savefield{journaltitle}{\bbx@lasthash}}}}% {\usebibmacro{author}}} \newbibmacro*{type+inst+year}{% @@ -3784,6 +4339,12 @@ citation style] test {\ifentrytype{audio}}% and not togl {cms@origpublished}% + and + ( + not test {\iffieldundef{title}}% + or + not test {\iffieldundef{titleaddon}}% + ) }% {\bibstring{in}\setunit{\addspace}}% {}}% @@ -3802,6 +4363,12 @@ citation style] not test {\iffieldundef{booktitle}}% and not togl {cms@origpublished}% + and + ( + not test {\iffieldundef{title}}% + or + not test {\iffieldundef{titleaddon}} + ) }% {\bibstring{on}\setunit{\addspace}}% {}}% @@ -3815,11 +4382,11 @@ citation style] {}% {\iftoggle{cms@switchdates}% Date fix {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\usebibmacro{cmsorigdate}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {}% {\usebibmacro{cmsorigdate}}}% \iffieldundef{pubstate}% @@ -3942,11 +4509,11 @@ citation style] \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {}% {\cms@datelong{orig}}}} @@ -3957,11 +4524,11 @@ citation style] \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {\printdate}% For interviews and other dated non-letters {\cms@datelong{orig}}}} @@ -3979,11 +4546,11 @@ 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{origseason}}% + \AND\iffieldundef{origday}\AND\iffieldundef{origyeardivision}}% {}% {\printorigdate}}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}% - \AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some + \AND\iffieldundef{day}\AND\iffieldundef{yeardivision}}% Punctuation in some {}% entry types (Misc). The whole \printdate thing may need further work. {\printdate}}} @@ -4029,29 +4596,33 @@ citation style] {\printorigdate}}}% \newbibmacro*{journal+sub}[1]{% - \iffieldundef{journaltitle}% - {}% - {\ifboolexpr{% - not test {\iffieldundef{shortjournal}}% - and - (( - test {\ifcitation}% - and - togl {cms@citejtabb}% - ) - or - ( - test {\ifbibliography}% - and - togl {cms@bibjtabb}% - )) - }% - {\clearlist{location}\printtext[#1shortjournal]{% - \printfield[jtsnoformat]{shortjournal}}}% - {\printtext[#1journaltitle]{% - \printfield[jtnoformat]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[sjtnoformat]{journalsubtitle}}}}}% + \ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + )) + }% + {\clearlist{location}\printtext[#1shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + {\iffieldundef{journaltitle}% + {\iffieldundef{journaltitleaddon}% + {}% + {\printfield{journaltitleaddon}}}% + {\printtext[#1journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{journaltitleaddon}}}}% \newbibmacro*{chap+pag}{% \printfield{chapter}% @@ -4078,7 +4649,7 @@ citation style] \printfield{maintitle}% \setunit{\subtitlepunct}% \printfield[mainsubtitle]{mainsubtitle}}% - \setunit{\ctitleaddonpunct}% + \setunit{\jtitleaddonpunct}% \printfield{maintitleaddon}% \newcunit\newblock}% \printfield{usera}% For network ID and possible section of newspaper. @@ -4098,15 +4669,15 @@ citation style] \newbibmacro*{mag+date+issue}{% \usebibmacro{journal+sub}{in}% - \setunit*{\addspace}% + \setunit{\addspace}% \printlist[periodplace]{location}% \newunit\newblock \usebibmacro{date+issue}{}} \newbibmacro*{cmsyear}{% \iftoggle{cms@switchdates}% - {\clearfield{extradate}\printorigdateextra}% \printfield{origyear} - {\clearfield{extradate}\printdateextra}}% \printfield{year} + {\clearfield{extradate}\clearfield{extratitleyear}\printorigdateextra}% + {\clearfield{extradate}\clearfield{extratitleyear}\printdateextra}}% \newbibmacro*{cmsorigdate}{% New for 0.9 \iftoggle{cms@switchdates}% @@ -4114,38 +4685,47 @@ citation style] {\printorigdate}} \newbibmacro*{cperiodical+ser+vol+num}[1]{% For periodical entries, - \ifboolexpr{% article subtype + \ifboolexpr{% no subtype + not test {\iffieldundef{shorttitle}}% + and + (( togl {cms@citejtabb}% and test {\ifcitation}% + ) + or + ( + togl {cms@bibjtabb}% and - not test {\iffieldundef{shorttitle}}% + test {\ifbibliography}% + ) + or + ( + test {\iffieldundef{title}}% + and + test {\iffieldundef{titleaddon}}% + ))% }% {\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}}}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% {\printtext[title]{% \printfield[tnoformat]{title}% \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}}}% - \setunit*{\addspace}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}}% + \setunit{\addspace}% \printlist[periodplace]{location}% - \setunit*{\addspace}% + \setunit{\addspace}% \iffieldundef{series}% {}% {\newcunit \printfield[jourser]{series}% \newcunit}%\setunit*{\addspace}? \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND% - \iffieldundef{issue}\AND\iffieldundef{#1season}}% New, more accurate + \iffieldundef{issue}\AND\iffieldundef{#1yeardivision}}% New, more accurate {\iffieldundef{volume}% test, also in article {\newcunit% \printfield[journum]{number}% @@ -4160,29 +4740,38 @@ citation style] \setunit{\addcomma\addspace}}}% Moved eid for 17th ed. \newbibmacro*{periodical+date+issue}{% For periodical type & - \ifboolexpr{% magazine subtype + \ifboolexpr{% no subtype + not test {\iffieldundef{shorttitle}}% + and + (( togl {cms@citejtabb}% and test {\ifcitation}% + ) + or + ( + togl {cms@bibjtabb}% and - not test {\iffieldundef{shorttitle}}% + test {\ifbibliography}% + ) + or + ( + test {\iffieldundef{title}}% + and + test {\iffieldundef{titleaddon}}% + ))% }% {\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}}}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% {\printtext[title]{% \printfield[tnoformat]{title}% \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}}}% - \setunit*{\addspace}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}}% + \setunit{\addspace}% \printlist[periodplace]{location}% \newunit\newblock \usebibmacro{date+issue}{}} @@ -4348,8 +4937,8 @@ citation style] {}}% \ifentrytype{letter}% {\iftoggle{cms@switchdates}% - {\clearfield{year}\clearfield{month}\clearfield{season}}% - {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% + {\clearfield{year}\clearfield{month}\clearfield{yeardivision}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origyeardivision}}% \clearfield{origlocation}}% {\ifthenelse{\ifentrytype{article}\OR\ifentrytype{periodical}\OR% \ifentrytype{review}\OR\ifentrytype{suppperiodical}}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx index 6828c66058..68faa4d853 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx @@ -4,7 +4,7 @@ % for the two author-date styles of the Chicago Manual of Style, 16th % edition. -\ProvidesFile{chicago-dates-common16.cbx}[2021/03/27 v 3.16 biblatex +\ProvidesFile{chicago-dates-common16.cbx}[2022/07/02 v 3.18 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -451,7 +451,7 @@ citation style] \noinherit{urlyear} \noinherit{urlmonth} \noinherit{urlday} - \noinherit{urlseason} + \noinherit{urlyeardivision} \noinherit{urlhour} \noinherit{urlminute} \noinherit{doi} @@ -464,19 +464,19 @@ citation style] \noinherit{year} \noinherit{month} \noinherit{day} - \noinherit{season} + \noinherit{yeardivision} \noinherit{endyear} \noinherit{endmonth} \noinherit{endday} - \noinherit{endseason} + \noinherit{endyeardivision} \noinherit{origyear} \noinherit{origmonth} \noinherit{origday} - \noinherit{origseason} + \noinherit{origyeardivision} \noinherit{origendyear} \noinherit{origendmonth} \noinherit{origendday} - \noinherit{origendseason}} + \noinherit{origendyeardivision}} % More authordate options % @@ -3058,11 +3058,11 @@ citation style] {}% {\iftoggle{cms@switchdates}% Date fix {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\usebibmacro{cmsorigdate}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {}% {\usebibmacro{cmsorigdate}}}}}% @@ -3173,11 +3173,11 @@ citation style] \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {}% {\cms@datelong{orig}}}} @@ -3188,11 +3188,11 @@ citation style] \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {\printdate}% For interviews and other dated non-letters {\cms@datelong{orig}}}} @@ -3210,11 +3210,11 @@ 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{origseason}}% + \AND\iffieldundef{origday}\AND\iffieldundef{origyeardivision}}% {}% {\printorigdate}}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}% - \AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some + \AND\iffieldundef{day}\AND\iffieldundef{yeardivision}}% Punctuation in some {}% entry types (Misc). The whole \printdate thing may need further work. {\printdate}}} @@ -3366,7 +3366,7 @@ citation style] \printfield[jourser]{series}% \newcunit}%\setunit*{\addspace}? \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{issue}\AND\iffieldundef{season}}% New, more accurate + \iffieldundef{issue}\AND\iffieldundef{yeardivision}}% New, more accurate {\iffieldundef{volume}% test, also in article {\newcunit% \printfield[journum]{number}% @@ -3568,8 +3568,8 @@ citation style] {}}% \ifentrytype{letter}% {\iftoggle{cms@switchdates}% - {\clearfield{year}\clearfield{month}\clearfield{season}}% - {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% + {\clearfield{year}\clearfield{month}\clearfield{yeardivision}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origyeardivision}}% \clearfield{origlocation}}% {}% \clearfield{reprinttitle}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx index 4e4bf9b229..9222c66e9c 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx @@ -2,7 +2,7 @@ % Lehman's standard.bbx. It provides the bibliography formatting for % the Chicago notes + bibliography style. -\ProvidesFile{chicago-notes.bbx}[2021/06/30 v 3.16 biblatex bibliography style] +\ProvidesFile{chicago-notes.bbx}[2022/07/02 v 3.18 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -636,7 +636,7 @@ {\iffieldequals{fullhash}\blx@lasthash@text}}% {\@secondoftwo}} -\renewcommand*{\revsdnamedelim}{\addcomma} +\DeclareDelimFormat{revsdnamedelim}{\finalandcomma}% \DeclareNameAlias{author}{sortname}% Needed in 0.9 \DeclareNameAlias{editor}{sortname} @@ -678,18 +678,26 @@ \finentry}} \DeclareBibliographyDriver{shortjournal}{% - \iffieldundef{journaltitle}% - {\printtext[title]{% - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}% - \setunit*{\addspace}% + \ifentrytype{periodical}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}% + \setunit{\addspace}% \printlist[periodplace]{location}}% - {\printtext[journaltitle]{% - \printfield[jtnoformat]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[sjtnoformat]{journalsubtitle}}% - \setunit*{\addspace}% + {\iffieldundef{journaltitle}% + {\printfield{journaltitleaddon}}% + {\printtext[journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{journaltitleaddon}}% + \setunit{\addspace}% \printlist[periodplace]{location}}% \finentry}% @@ -966,6 +974,18 @@ \step[fieldsource=booktitle, final] \step[fieldset=sorttitle, origfieldval] } + \map[overwrite]{ + \step[fieldsource=entrysubtype, match=classical, final] + \step[fieldsource=shortauthor, final] + \step[fieldsource=options, notmatch=\regexp{useibid}, final] + \step[fieldset=options, fieldvalue=\regexp{,useibid=false}, append] + } + \map{ + \step[fieldsource=entrysubtype, match=classical, final] + \step[fieldsource=shortauthor, final] + \step[notfield=options, final] + \step[fieldset=options, fieldvalue=\regexp{useibid=false}] + } } }% @@ -1115,14 +1135,16 @@ \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock - \usebibmacro{italtitle+stitle}% + \ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}{}% + {\usebibmacro{italtitle+stitle}}% \newunit\newblock% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% \newunit\newblock \usebibmacro{music+eventdate}% 17th ed. - \iffieldundef{eventyear}% + \ifthenelse{\iffieldundef{eventyear}\AND\NOT% + \(\iffieldundef{title}\AND\iffieldundef{titleaddon}\)}% {\newcunit}% {\newunit}% \usebibmacro{chapinscore}% @@ -1565,7 +1587,7 @@ \setunit*{\addcomma\addspace}\newblock% \usebibmacro{bib+doi+url}% \newunit\newblock - \usebibmacro{pageref}%!!!\printlist{pageref}::\strlist{pageref}% + \usebibmacro{pageref}% \newunit\newblock \ifboolexpr{% togl {cms@related}% @@ -2527,7 +2549,8 @@ \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock - \usebibmacro{italtitle+stitle}% + \ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}{}% + {\usebibmacro{italtitle+stitle}}% \newunit% 16th ed. \usebibmacro{byauthor}% \newunit\newblock @@ -3113,7 +3136,11 @@ \newunit\newblock \printfield{addendum}% \newunit\newblock - \iffieldundef{urlyear}% + \ifboolexpr{% + test {\iffieldundef{urlyear}}% + or + togl {cms@doinodate}% + }% {}% {\printurldate% \ifboolexpr{% @@ -3881,10 +3908,11 @@ \usebibmacro{part+editor+translator}}% {\usebibmacro{author/editor}% \newunit\newblock - \printtext[title]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% + \iffieldundef{title}{}% + {\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% @@ -3975,6 +4003,8 @@ togl {cms@url}% and not test {\iffieldundef{urlyear}}% + and + not togl {cms@doinodate}% }% {\printurldate% \ifboolexpr{% @@ -4342,7 +4372,7 @@ \usebibmacro{editorpunct}% \usebibmacro{withafterword}} -%%%% New date macros enabling special handling of seasons, decades, +%%%% New date macros enabling special handling of yeardivisions, decades, %%%% centuries, date eras, and uncertain dates (circa and ?), along %%%% with CMS compression of year ranges. @@ -4585,7 +4615,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -4594,7 +4624,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifdateyearsequal{#2}{#2end}% {\iffieldsequal{#2month}{#2endmonth}% {\csuse{mkbibdate#1}{}{}{#2day}}% @@ -4604,12 +4634,12 @@ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -4626,13 +4656,13 @@ {}% \iffieldundef{#2endyear}% {\iffieldundef{#2endmonth}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% {\bibdaterangesep% - \csuse{mkbibseasondate#1}{}{#2endseason}}}% + \csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}}% {\bibdaterangesep% \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% {\iffieldequalstr{#2endyear}{}% @@ -4661,13 +4691,13 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdatedash% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -4685,7 +4715,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -4694,7 +4724,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}} {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \ifboolexpr{% test {\ifdateyearsequal{#2}{#2end}}% @@ -4705,7 +4735,7 @@ }% {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% {\cmsdateeraprint{#2year}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}% \if@cms@bracket% {\if@cms@uncertain% @@ -4721,7 +4751,7 @@ {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -4751,9 +4781,9 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdaterangesep% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -4769,7 +4799,8 @@ \newrobustcmd*{\cms@mkyearrangeextra}[3][]{% \begingroup \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% - \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \clearfield{#3endday}\clearfield{#3yeardivision}% + \clearfield{#3endyeardivision}% \blx@metadateinfo{#3}% \iffieldundef{#3year} {\blx@nounit}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx index 9d5616564d..97b61e12e6 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx @@ -4,7 +4,7 @@ % formatted according to the specifications of the Chicago Manual of % Style. -\ProvidesFile{chicago-notes.cbx}[2021/03/27 v 3.16 biblatex citation style] +\ProvidesFile{chicago-notes.cbx}[2022/07/02 v 3.18 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -24,6 +24,7 @@ \providetoggle{cms@urltime}% 17th ed. \providetoggle{cms@doi} \providetoggle{cms@doionly} +\providetoggle{cms@doinodate} \providetoggle{cms@eprint} \providetoggle{cms@isbn} \providetoggle{cms@numbermonth} @@ -35,9 +36,12 @@ \providetoggle{cms@bibshser} \providetoggle{cms@notefield} \providetoggle{cms@addendum} +\providetoggle{cms@notitle}% For classical short notes \providetoggle{cms@comprange} \providetoggle{cms@compyears} \providetoggle{cms@modpostnote} +\providetoggle{cms@strippunct} +\providetoggle{cms@postspace} \providetoggle{cms@url@innotes} \providetoggle{cms@ukord} @@ -81,6 +85,7 @@ \providetoggle{cms@running@text}% For Jurisdiction entries \providetoggle{cms@noterefs}% Backrefs inside notes \providetoggle{cms@forcenoteref}% For shortrefcite command +\providetoggle{cms@nonoterefs}% To turn off noterefs by type or entry \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. @@ -300,17 +305,17 @@ \def\cmspens#1{\space #1\cmspens@i{#1}} -\DeclareBibliographyOption[boolean]{noibid}[true]{% - \global\toggletrue{cms@noibid}} +\DeclareBiblatexOption{global,type,entry}[boolean]{noibid}[true]{% + \settoggle{cms@noibid}{#1}} -\DeclareBibliographyOption[boolean]{useibid}[true]{% - \global\toggletrue{cms@useibid}} +\DeclareBiblatexOption{global,type,entry}[boolean]{useibid}[true]{% + \settoggle{cms@useibid}{#1}} \DeclareBiblatexOption{global,type,entry}[boolean]{dashed}[true]{% \settoggle{cms@namedash}{#1}} -\DeclareBibliographyOption[boolean]{short}[true]{% - \global\settoggle{cms@allshort}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{short}[true]{% + \settoggle{cms@allshort}{#1}} \DeclareBibliographyOption[boolean]{hidezeros}[true]{% \global\settoggle{cms@hidezeros}{#1}} @@ -333,6 +338,9 @@ \DeclareBibliographyOption[string]{noterefintro}[preface]{% \def\cms@note@introname{#1}}% +\DeclareBiblatexOption{type,entry}[boolean]{suppressnoterefs}[true]{% + \settoggle{cms@nonoterefs}{#1}} + \DeclareBiblatexOption{global}[boolean]{fullnoterefs}[true]{% \global\settoggle{cms@fullrefs}{#1}}% @@ -1100,6 +1108,9 @@ % The field-exclusion options % +\DeclareBiblatexOption{global,type,entry}[boolean]{notitle}[true]{% + \settoggle{cms@notitle}{#1}}% + \DeclareBiblatexOption{global,type,entry}[boolean]{urlnotes}[true]{% \settoggle{cms@url@innotes}{#1}}% @@ -1120,6 +1131,9 @@ \togglefalse{cms@doi}}% \def\cms@opt@doi@only{% \toggletrue{cms@doionly}}% +\def\cms@opt@doi@onlynd{% + \toggletrue{cms@doionly}% + \toggletrue{cms@doinodate}}% \DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% \settoggle{cms@eprint}{#1}}% \DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{% @@ -1314,6 +1328,27 @@ \def\cms@opt@ctao@period{% \def\ctitleaddonpunct{\newunitpunct}}% +\DeclareBiblatexOption{global,type,entry}[string]{jtitleaddon}[space]{% + \ifcsdef{cms@opt@jtao@#1}% + {\csuse{cms@opt@jtao@#1}}% + {\csuse{cms@opt@jtao@space}\cms@warning@noline% + {'jtitleaddon=#1' is not a valid option.\MessageBreak + The default - 'space' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@jtao@none{% + \let\jtitleaddonpunct\@empty}% +\def\cms@opt@jtao@comma{% + \def\jtitleaddonpunct{\addcomma\addspace}}% +\def\cms@opt@jtao@colon{% + \def\jtitleaddonpunct{\addcolon\addspace}}% +\def\cms@opt@jtao@space{% + \def\jtitleaddonpunct{\addspace}}% +\def\cms@opt@jtao@semicolon{% + \def\jtitleaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@jtao@period{% + \def\jtitleaddonpunct{\newunitpunct}}% + % Controlling punctuation before shorthand in notes % \DeclareBiblatexOption{global,type,entry}[string]{shorthandpunct}[space]{% @@ -1342,9 +1377,9 @@ \def\shorthandpunct{\addspace\textendash\addspace}}% \ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,% - related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,% - legalnotes,supranotes,shortextrapunct,dashed,bibannotesep,citeannotesep,% - nameaddonsep=space} + related,booklongxref,ptitleaddon,ctitleaddon,jtitleaddon,shorthandpunct,% + urlnotes,legalnotes,supranotes,shortextrapunct,dashed,bibannotesep,% + citeannotesep,nameaddonsep=space} \ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}% @@ -1396,11 +1431,354 @@ \DeclarePunctuationPairs{comma}{*!?}} %%%% Initialize and define bibstrings %%%% +%%%% This one needed for 16th edition. Others in cms-*.lbx %%%% \DefineBibliographyStrings{english}{% citedas = {hereafter cited as},} -%%%% This one needed for 16th edition. Others in cms-*.lbx %%%% +%%%% These are the macros and declarations needed to use non-default +%%%% name presentations, including new name parts and different +%%%% orderings of existing name parts. All of this becomes available +%%%% only when a user sets the "cmsnameparts" option. Nearly all of it +%%%% comes from the standard biblatex example file 93-nameparts.tex, +%%%% with changes to make it possible for users to add new name +%%%% treatments and also to set a new default name presentation style +%%%% for their documents. + +\ifdefvoid{\cms@ldt@cmsnameparts}{}{% + + %% Wrapper for biblatex's Template declarations, allowing a chosen + %% named template also to provide the default ("global") template. + %% <template command><[template name]><definition of template> + + \def\cms@template@wrapper#1[#2]#3{% + \def\cms@tpl{#2} + \ifx\cms@ldt@cmsnameparts\cms@tpl + #1{#3}% + #1[#2]{#3} + \blx@warning@noline{#2 is the So Global Template} + \else + #1[#2]{#3} + \blx@warning@noline{#2 is the Local Template} + \fi} + + %% Name format declarations for bibliography and notes. The + %% "default" format is for the head of long notes and for names in + %% the body of long notes and bibliography entries. They should work + %% for any name styles users might want to add themselves. + + \DeclareNameFormat{sortname}{% + \ifdefstring{\blx@refcontext@sortingnamekeytemplatename}{global}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts-rev}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:\cms@ldt@cmsnameparts-rev}}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts}% + {\csuse{cmssort:\cms@ldt@cmsnameparts}}% + {\csuse{cmssort:western}}}}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts}% + {\csuse{cmssort:\cms@ldt@cmsnameparts}}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:western-rev}}% + {\csuse{cmssort:western}}}}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename-rev}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename-rev}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename}}% + {\csuse{cmssort:western}}}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename}}% + {\ifnumequal{\value{listcount}}{1}% + {\csuse{cmssort:western-rev}}% + {\csuse{cmssort:western}}}}}% + \usebibmacro{name:andothers}}% + + \DeclareNameFormat{default}{% + \ifdefstring{\blx@refcontext@sortingnamekeytemplatename}{global}% + {\ifcsdef{cmssort:\cms@ldt@cmsnameparts}% + {\csuse{cmssort:\cms@ldt@cmsnameparts}}% + {\csuse{cmssort:western}}}% + {\ifcsdef{cmssort:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmssort:\blx@refcontext@sortingnamekeytemplatename}}% + {\csuse{cmssort:western}}}% + \usebibmacro{name:andothers}}% + + \DeclareNameFormat{labelname}{% + \ifdefstring{\blx@refcontext@sortingnamekeytemplatename}{global}% + {\ifcsdef{cmslabel:\cms@ldt@cmsnameparts}% + {\csuse{cmslabel:\cms@ldt@cmsnameparts}}% + {\csuse{cmslabel:western}}}% + {\ifcsdef{cmslabel:\blx@refcontext@sortingnamekeytemplatename}% + {\csuse{cmslabel:\blx@refcontext@sortingnamekeytemplatename}}% + {\csuse{cmslabel:western}}}% + \usebibmacro{name:andothers}}% + + %% These are the template definitions for the four pre-defined + %% styles, each with two templates, one for the sortname and one for + %% the labelname. The "western" style, as in 93-nameparts.tex, is + %% identical to biblatex's default style, but giving it a name + %% allows other styles to become the default, if desired. You will + %% need one template of each sort for any new style you wish to + %% provide. + + \cms@template@wrapper{\DeclareSortingNamekeyTemplate}[cjk]{ + \keypart{ + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{cjk} + } + } + + \cms@template@wrapper{\DeclareUniquenameTemplate}[cjk]{ + \namepart[base=true]{family} + \namepart[disambiguation=full]{given} + \namepart[disambiguation=full]{cjk} + } + + \cms@template@wrapper{\DeclareSortingNamekeyTemplate}[ethiopian]{ + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{patronymic} + } + \keypart{ + \namepart{papponymic} + } + } + + \cms@template@wrapper{\DeclareUniquenameTemplate}[ethiopian]{ + \namepart[base=true]{given} + \namepart[disambiguation=full]{patronymic} + \namepart[disambiguation=full]{papponymic} + } + + \cms@template@wrapper{\DeclareSortingNamekeyTemplate}[russian]{ + \keypart{ + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{patronymic} + } + } + + \cms@template@wrapper{\DeclareUniquenameTemplate}[russian]{ + \namepart[base=true]{family} + \namepart{given} + \namepart{patronymic} + } + + \DeclareSortingNamekeyTemplate[western]{ + \keypart{ + \namepart[use=true]{prefix} + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{suffix} + } + \keypart{ + \namepart[use=false]{prefix} + } + } + + \DeclareUniquenameTemplate[western]{ + \namepart[use=true, base=true]{prefix} + \namepart[base=true]{family} + \namepart{given} + } + + %% These bibmacros print the names when the standard biblatex + %% equivalents are insufficient. You only need to provide a new one + %% for a new style if standard biblatex doesn't provide one that is + %% suitable. + + \newbibmacro*{name:cjk}[3]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \mkbibnamefamily{#1}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnamecjk{#3}}} + + \newbibmacro*{name:ethiopian}[3]{% + \usebibmacro{name:delim}{#1#2#3}% + \usebibmacro{name:hook}{#1#2#3}% + \mkbibethgiven{#1}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibethpat{#2}\isdot}% + \ifdefvoid{#3}{}{\bibnamedelimd\mkbibethpap{#3}\isdot}} + + \let\mkbibethgiven\mkbibnamefamily + \let\mkbibethpat\mkbibnamegiven + \let\mkbibethpap\mkbibnamegiven + + \newbibmacro*{name:russian}[3]{% + \usebibmacro{name:delim}{#1#2#3}% + \usebibmacro{name:hook}{#1#2#3}% + \ifdefvoid{#2} + {} + {\mkbibnamegiven{#2}\isdot\bibnamedelimd + \ifdefvoid{#3} + {} + {\mkbibnamepatronymic{#3}\isdot\bibnamedelimd}}% + \mkbibnamefamily{#1}} + + \newbibmacro*{name:russian-rev}[3]{% + \usebibmacro{name:delim}{#1#2#3}% + \usebibmacro{name:hook}{#1#2#3}% + \mkbibnamefamily{#1}% + \ifdefvoid{#2} + {} + {\revsdnamepunct\bibnamedelimd + \mkbibnamegiven{#2}\isdot + \ifdefvoid{#3} + {} + {\bibnamedelimd\mkbibnamepatronymic{#3}\isdot}}} + + %% These macros call the name-printing bibmacros with the + %% appropriate arguments for the "sortname" and "default" name + %% formats. Each style needs at least one for printing sortnames, + %% and possibly a second if you wish to reverse the first name in a + %% list. + + \csdef{cmssort:cjk}{% + \usebibmacro{name:cjk} + {\namepartfamily} + {\namepartgiven} + {\namepartcjk}}% + + \csdef{cmssort:russian}{% + \usebibmacro{name:russian} + {\namepartfamily} + {\namepartgiven} + {\namepartpatronymic}}% + + \csdef{cmssort:russian-rev}{% + \usebibmacro{name:russian-rev} + {\namepartfamily} + {\namepartgiven} + {\namepartpatronymic}% + \ifboolexpe{% + test {\ifdefvoid\namepartgiven} + and + test {\ifdefvoid\namepartpatronymic}} + {}% + {\usebibmacro{name:revsdelim}}}% + + \csdef{cmssort:ethiopian}{% + \usebibmacro{name:ethiopian} + {\namepartgiven} + {\namepartpatronymic} + {\namepartpapponymic}}% + + \csdef{cmssort:western}{% + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}}% + + \csdef{cmssort:western-rev}{% + \usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \ifboolexpe{% + test {\ifdefvoid\namepartgiven} + and + test {\ifdefvoid\namepartprefix}} + {}% + {\usebibmacro{name:revsdelim}}}% + + %% These macros call the name-printing macros for the labelname, + %% i.e., in short notes. You'll need one for each new style you wish + %% to provide for your documents. + + \csdef{cmslabel:cjk}{% + \iffieldequalstr{uniquepart}{base}% + {\usebibmacro{name:cjk} + {\namepartfamily} + {\empty} + {\empty}} + {\iffieldequalstr{uniquepart}{given}% + {\usebibmacro{name:cjk} + {\namepartfamily} + {\namepartgiven} + {\empty}} + {\usebibmacro{name:cjk} + {\namepartfamily} + {\namepartgiven} + {\namepartcjk}}}} + + \csdef{cmslabel:ethiopian}{% + \iffieldequalstr{uniquepart}{base}% + {\usebibmacro{name:ethiopian} + {\namepartgiven} + {\empty} + {\empty}} + {\iffieldequalstr{uniquepart}{patronymic}% + {\usebibmacro{name:ethiopian} + {\namepartgiven} + {\namepartpatronymic} + {\empty}} + {\usebibmacro{name:ethiopian} + {\namepartgiven} + {\namepartpatronymic} + {\namepartpapponymic}}}} + + \csdef{cmslabel:russian}{% + \iffieldequalstr{uniquepart}{base}% + {\usebibmacro{name:russian} + {\namepartfamily} + {\empty} + {\empty}} + {\ifnum\namepartgivenun=1\relax + \usebibmacro{name:russian} + {\namepartfamily} + {\namepartgiveni} + {\namepartpatronymici}% + \else + \usebibmacro{name:russian} + {\namepartfamily} + {\namepartgiven} + {\namepartpatronymic}% + \fi}} + + \csdef{cmslabel:western}{% + \ifcase\value{uniquename}% + \usebibmacro{name:family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \or + \ifuseprefix + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffixi}} + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefixi} + {\namepartsuffixi}}% + \or + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \fi}} %%%% Cite macros for use by the citation commands %%%% @@ -1491,9 +1869,11 @@ % {<entrytype>} \newbibmacro*{cite:short}[1]{% \global\let\cms@pnsaved\undefined% - \ifcsundef{cite:short:#1}% - {\csuse{cite:short:book}}% - {\csuse{cite:short:#1}}} + \iftoggle{cms@notitle}% + {\usebibmacro{cite:short:ibid}}% + {\ifcsundef{cite:short:#1}% + {\csuse{cite:short:book}}% + {\csuse{cite:short:#1}}}} \newbibmacro*{cite:short:ibid}{% For 17th edition \ifthenelse{\ifnameundef{labelname}\OR% @@ -1516,6 +1896,10 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{journaltitle}}% )) }% {\cmshyper{\printfield[shortjournal]{shortjournal}}\newcunit}% @@ -1580,16 +1964,16 @@ {\printtext[\csuse{cms@xformat}]{% \printfield[letterday]{\csuse{cms@xfield}}}}% {\ifboolexpr{% - test {\ifcsstring{cms@xfield}{season}}% + test {\ifcsstring{cms@xfield}{yeardivision}}% or - test {\ifcsstring{cms@xfield}{origseason}}% + test {\ifcsstring{cms@xfield}{origyeardivision}}% or - test {\ifcsstring{cms@xfield}{eventseason}}% + test {\ifcsstring{cms@xfield}{eventyeardivision}}% or - test {\ifcsstring{cms@xfield}{urlseason}}% + test {\ifcsstring{cms@xfield}{urlyeardivision}}% }% {\printtext[\csuse{cms@xformat}]{% - \mkbibseason{\thefield{\csuse{cms@xfield}}}}}% + \mkbibyeardivision{\thefield{\csuse{cms@xfield}}}}}% {\IfSubStr{\cms@xfield}{year}% {\StrCut{\cms@xfield}{year}\cms@yeartype\cms@tempnull% \iffieldundef{\csuse{cms@yeartype}year}% @@ -1611,7 +1995,7 @@ {\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}}% + \iffieldundef{\csuse{cms@datetype}yeardivision}}% {}% {\printtext[\csuse{cms@xformat}]{% \csuse{print\cms@datetype date}}}}% @@ -1648,6 +2032,8 @@ and not togl {cms@allshort}% and + not togl {cms@nonoterefs}% Type and entry option + and test {\iffootnote}% and not ( @@ -1681,6 +2067,10 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{journaltitle}}% )) }% {\printfield[shortjournal]{shortjournal}\newcunit}% @@ -1691,6 +2081,19 @@ \cmshyper{\printfield[citetitle]{labeltitle}}% \usebibmacro{cms+extra+test}}% +\csdef{cite:short:audio}{% + \usebibmacro{allshort+firstcite+xref}% + \ifnameundef{labelname}% + {}% + {\usebibmacro{cms+name+idem}}% + \iffieldundef{labeltitle}% + {\iffieldundef{booktitle}% + {}% + {\cmshyper{\printtext[booktitle]{% + \printfield[btnoformat]{booktitle}}}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}% + \usebibmacro{cms+extra+test}}% + \csdef{cite:short:book}{% \usebibmacro{allshort+firstcite+xref}% \ifnameundef{labelname}% @@ -1843,6 +2246,8 @@ \cmshyper{\printfield[citetitle]{labeltitle}}% \usebibmacro{cms+extra+test}}% +\csletcs{cite:short:music}{cite:short:audio}% + \csletcs{cite:short:mvreference}{cite:short:inreference}% \csdef{cite:short:online}{% @@ -1893,6 +2298,10 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{journaltitle}}% )) }% {\printfield[shortjournal]{shortjournal}\newcunit}% @@ -1970,7 +2379,12 @@ {\cmshyper{\printfield[citetitle]{labeltitle}}% \setunit{\ctitleaddonpunct}% \printfield{booktitleaddon}}}% - {\cmshyper{\printfield[citetitle]{labeltitle}}}% + {\iffieldundef{labeltitle}% + {\iffieldundef{booktitle}% + {}% + {\cmshyper{\printtext[booktitle]{% + \printfield[btnoformat]{booktitle}}}}}% + {\cmshyper{\printfield[citetitle]{labeltitle}}}}% \usebibmacro{cms+extra+test}}% \newbibmacro*{cms+extra+test}{% Used in previous defs @@ -2084,7 +2498,7 @@ }% {\global\toggletrue{cms@shortnote}% \global\togglefalse{cms@fullnote}% - \usebibmacro{cite:short:legal}% + \usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}}% {\cmshyper{\bibsstring[\mkbibemph]{ibidem}}% \ifboolexpr{% @@ -2103,7 +2517,11 @@ \newbibmacro*{cite:ibid:cms}{% \iftoggle{cms@useibid}% - {\ifbibliography% + {\ifboolexpr{% + test {\ifbibliography}% + or + togl {cms@noibid}% + }% {\global\toggletrue{cms@shortnote}% \global\togglefalse{cms@fullnote}% \usebibmacro{cite:short}{\thefield{entrytype}}% @@ -2123,10 +2541,19 @@ {\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}}}% + {\ifboolexpr{% + test {\iffieldequalstr{entrysubtype}{classical}}% + or + togl {cms@noibid}% + }% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short}{\thefield{entrytype}}% + \usebibmacro{cite:save}}% + {\global\toggletrue{cms@shortnote}% + \global\togglefalse{cms@fullnote}% + \usebibmacro{cite:short:ibid}% + \usebibmacro{cite:save}}}}% \newbibmacro*{cite:journal}{% \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% @@ -2134,7 +2561,8 @@ {\bibsentence\usebibmacro{cite:ibid}}% {\usebibmacro{cite:ibid}}% \usebibmacro{cite:save}}% - {\iffieldundef{journaltitle}% + {\ifthenelse{\iffieldundef{journaltitle}\AND\iffieldundef{shortjournal}\AND% + \iffieldundef{journaltitleaddon}}% {\usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}}% {\ifboolexpr{% @@ -2173,12 +2601,20 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{journaltitle}}% + and + test {\iffieldundef{journaltitleaddon}}% )) }% {\printtext[bibhyperref]{% \printfield[shortjournal]{shortjournal}}}% - {\printtext[bibhyperref]{% - \printfield[journaltitle]{journaltitle}}}}% + {\iffieldundef{journaltitle}% + {\printtext[bibhyperref]{\printfield{journaltitleaddon}}}% + {\printtext[bibhyperref]{% + \printfield[journaltitle]{journaltitle}}}}}% {\ifboolexpr{% not test {\iffieldundef{shortjournal}}% and @@ -2192,12 +2628,20 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{journaltitle}}% + and + test {\iffieldundef{journaltitleaddon}}% )) }% {\printtext[bibhyperlink]{% \printfield[shortjournal]{shortjournal}}}% - {\printtext[bibhyperlink]{% - \printfield[journaltitle]{journaltitle}}}}% + {\iffieldundef{journaltitle}% + {\printtext[bibhyperlink]{\printfield{journaltitleaddon}}}% + {\printtext[bibhyperlink]{% + \printfield[journaltitle]{journaltitle}}}}}% \iffieldundef{volume}% {\iffieldundef{number}% {\iffieldundef{issue}% @@ -2387,7 +2831,7 @@ {cite:\thefield{entrytype}}% \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}% {\multicitedelim}% - {\finentry}% Helps with annotated bibliographies (?) + {}%\finentry% (No longer) Helps with annotated bibliographies (?) \DeclareCiteCommand{\origpublcite}% Similar to above, w/o title. {\usebibmacro{backref+check}% @@ -2407,7 +2851,7 @@ \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}% \global\togglefalse{cms@reprintfrom}}% {\multicitedelim}% - {\finentry} + {}%\finentry \DeclareCiteCommand{\headlessfullcite} {\usebibmacro{prenote}}% @@ -5510,7 +5954,11 @@ \usebibmacro{fullpostnote}% \usebibmacro{caddendum}% \newcunit\newblock - \iffieldundef{urlyear}% + \ifboolexpr{% + test {\iffieldundef{urlyear}}% + or + togl {cms@doinodate}% + }% {}% {\printurldate% \ifboolexpr{% @@ -6967,10 +7415,19 @@ \DeclareFieldFormat{titleaddon}{% \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}}% +\DeclareFieldFormat[periodical]{titleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \DeclareFieldAlias{booktitleaddon}{titleaddon} \DeclareFieldAlias{maintitleaddon}{titleaddon} +\DeclareFieldAlias[article,periodical,review,suppperiodical]{maintitleaddon}% +{journaltitleaddon} + +\DeclareFieldFormat{journaltitleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \DeclareFieldFormat[jurisdiction,legal,legislation]{journaltitle}{% \iffieldundef{shortjournal}% {#1\isdot}% @@ -7416,42 +7873,67 @@ {\newcunit}}% {\newcunit}}}}% -\newcommand*{\postnotewrapper}{% - \iftoggle{cms@modpostnote}% Multiple bugs in v 2.0. - {\ifboolexpr{% - test {\iffieldstart{postnote}{,}}% - or - test {\iffieldstart{postnote}{\bibrangessep}}% - }% - {\togglefalse{blx@unit}% +\DeclareListParser{\docmslist}{|} +\DeclareListParser*{\forcmslist}{|} +\newcounter{cms@punct} + +\def\cms@strip@spaces#1{% + \def\do@i##1{% + \iffieldstart{postnote}{##1}% + {\toggletrue{cms@postspace}% \expandarg - \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% - \iffieldstart{postnote}{\ }% - {\setunit{\addcomma}}% - {\newcunit}}% - {\iffieldstart{postnote}{;}% + \StrGobbleLeft{#1}{1}[#1]\listbreak}% + {}}% + \forcmslist{\do@i}{\space|\,|\addspace|\;|\:|\!}} + +\newcommand*{\postnotewrapper}{% To fix bugs in v 2.0 & ff. + \setcounter{cms@punct}{0}% + \iftoggle{cms@modpostnote}% + {\def\do##1{% + \iffieldstart{postnote}{##1}% {\togglefalse{blx@unit}% + \toggletrue{cms@strippunct}% + \ifcase\c@cms@punct% Allows US-style punctuation to work + \def\cms@userpunct{\addcolon}% + \or + \def\cms@userpunct{\addsemicolon}% + \or + \def\cms@userpunct{\addperiod}% + \or + \def\cms@userpunct{\addcomma}% + \or + \def\cms@userpunct{\addcomma}% + \else + \def\cms@userpunct{##1}% + \fi \expandarg \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% + \cms@strip@spaces{\abx@field@postnote}% + \ifboolexpr{% + not test {\iffieldpages{postnote}}% + and + test {\iffieldstart{postnote}{ }}% + }% + {\StrSubstitute[1]{\abx@field@postnote}{ }{\ }[\abx@field@postnote]}% + {}% \iffieldstart{postnote}{\ }% - {\setunit{\addsemicolon}}% - {\setunit{\addsemicolon\addspace}}}% - {\iffieldstart{postnote}{:}% - {\togglefalse{blx@unit}% - \expandarg - \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% - \iffieldstart{postnote}{\ }% - {\setunit{\addcolon}}% - {\setunit{\addcolon\addspace}}}% - {\iffieldstart{postnote}{.}% - {\togglefalse{blx@unit}% - \expandarg - \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% - \iffieldstart{postnote}{\ }% - {\setunit{\addperiod}}% - {\newunit}}% - {\postnotedelim}}}}}% - {\postnotedelim}}% + {\setunit{\cms@userpunct}}% + {\ifboolexpr{% + test {\iffieldstart{postnote}{ }}% + or + togl {cms@postspace}% + }% + {\togglefalse{cms@postspace}% + \setunit{\cms@userpunct\addspace}}% + {\setunit{\cms@userpunct}}}% + \listbreak}% + {\stepcounter{cms@punct}}}% + \docmslist{:|;|.|,|\bibrangessep|\addcolon|\addsemicolon| + \addcomma|\addperiod}% + \iftoggle{cms@strippunct}% + {\togglefalse{cms@strippunct}}% + {\postnotedelim}}% + {\postnotedelim}} \newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from \begingroup% comp.text.tex @@ -7752,7 +8234,7 @@ }% {\printtext{\bibnamedash}}% {\usebibmacro{journal+sub}{}% - \setunit*{\addspace}% + \setunit{\addspace}% \printlist[periodplace]{location}% \savefield{journaltitle}{\bbx@lasthash}}}% {\ifuseauthor% @@ -8190,6 +8672,12 @@ test {\ifentrytype{audio}}% and not togl {cms@origpublished}% + and + ( + not test {\iffieldundef{title}}% + or + not test {\iffieldundef{titleaddon}}% + ) }% {\bibstring{in}\setunit{\addspace}}% {}}% @@ -8210,6 +8698,12 @@ not test {\iffieldundef{booktitle}}% and not togl {cms@origpublished}% + and + ( + not test {\iffieldundef{title}}% + or + not test {\iffieldundef{titleaddon}}% + ) }% {\bibstring{on}\setunit{\addspace}}% {}}% @@ -8309,18 +8803,22 @@ \newcunit\newblock} \newbibmacro*{title+stitle}{% - \printtext[title]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% + \iffieldundef{title}% + {}% + {\printtext[title]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% \setunit{\ptitleaddonpunct}% \printfield{titleaddon}}% \newbibmacro*{italtitle+stitle}{% - \printtext[title]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% + \iffieldundef{title}% + {}% + {\printtext[title]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% \setunit{\ptitleaddonpunct}% \printfield{titleaddon}% \setunit{\addspace}% @@ -8666,11 +9164,11 @@ \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {}% {\cms@datelong{orig}}}} @@ -8681,11 +9179,11 @@ \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {\printdate}% For interviews and other dated non-letters. {\cms@datelong{orig}}}} @@ -8824,9 +9322,9 @@ \newbibmacro*{cjournal+ser+vol+num}{% \usebibmacro{journal+sub}{in}% - \setunit*{\addspace}% + \setunit{\addspace}% \printlist[periodplace]{location}% - \setunit*{\addspace}% + \setunit{\addspace}% \iffieldundef{series}% {}% {\newcunit% @@ -8850,15 +9348,25 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{title}}% + and + test {\iffieldundef{titleaddon}}% )) }% {\clearlist{location}\printtext[shorttitle]{% \printfield[tnoformat]{shorttitle}}}% - {\printtext[title]{% - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}}% - \setunit*{\addspace}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}}% + \setunit{\addspace}% \printlist[periodplace]{location}% \setunit*{\addspace}% \iffieldundef{series}% @@ -8871,29 +9379,39 @@ \printfield[journum]{number}}% Move eid field for 17th ed. \newbibmacro*{journal+sub}[1]{% - \iffieldundef{journaltitle}% - {}% - {\ifboolexpr{% - not test {\iffieldundef{shortjournal}}% - and - (( - test {\ifcitation}% - and - togl {cms@citejtabb}% - ) - or - ( - test {\ifbibliography}% - and - togl {cms@bibjtabb}% - )) - }% - {\clearlist{location}\printtext[#1shortjournal]{% - \printfield[jtsnoformat]{shortjournal}}}% - {\printtext[#1journaltitle]{% - \printfield[jtnoformat]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[sjtnoformat]{journalsubtitle}}}}}% + \ifboolexpr{% + not test {\iffieldundef{shortjournal}}% + and + (( + test {\ifcitation}% + and + togl {cms@citejtabb}% + ) + or + ( + test {\ifbibliography}% + and + togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{journaltitle}}% + and + test {\iffieldundef{journaltitleaddon}}% + )) + }% + {\clearlist{location}\printtext[#1shortjournal]{% + \printfield[jtsnoformat]{shortjournal}}}% + {\iffieldundef{journaltitle}% + {\iffieldundef{journaltitleaddon}% + {}% + {\printfield{journaltitleaddon}}}% + {\printtext[#1journaltitle]{% + \printfield[jtnoformat]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[sjtnoformat]{journalsubtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{journaltitleaddon}}}}% \newbibmacro*{cite+doi+url}{% 16th ed. \iftoggle{cms@url@innotes}% @@ -8901,6 +9419,8 @@ togl {cms@url}% and not test {\iffieldundef{urlyear}}% + and + not togl {cms@doinodate}% }% {\printurldate% \ifboolexpr{% 17th ed. @@ -8957,7 +9477,7 @@ \printfield[mtnoformat]{maintitle}% \setunit{\subtitlepunct}% \printfield[smtnoformat]{mainsubtitle}}% - \setunit{\ctitleaddonpunct}% + \setunit{\jtitleaddonpunct}% \printfield{maintitleaddon}% \newcunit\newblock}% \printfield{usera}% @@ -8981,7 +9501,7 @@ \newbibmacro*{cmag+date+issue}{% \usebibmacro{journal+sub}{in}% - \setunit*{\addspace}% + \setunit{\addspace}% \printlist[periodplace]{location}% \newcunit\newblock \iffieldundef{maintitle}% @@ -8990,7 +9510,7 @@ \printfield[mtnoformat]{maintitle}% \setunit{\subtitlepunct}% \printfield[smtnoformat]{mainsubtitle}}% - \setunit{\ctitleaddonpunct}% + \setunit{\jtitleaddonpunct}% \printfield{maintitleaddon}} \newcunit\newblock \printfield{usera}% For network ID and possible section of newspaper. @@ -8999,7 +9519,7 @@ \newbibmacro*{mag+date+issue}{% \usebibmacro{journal+sub}{in}% - \setunit*{\addspace}% + \setunit{\addspace}% \printlist[periodplace]{location}% \newunit\newblock \iffieldundef{maintitle}% @@ -9008,7 +9528,7 @@ \printfield[mtnoformat]{maintitle}% \setunit{\subtitlepunct}% \printfield[smtnoformat]{mainsubtitle}}% - \setunit{\ctitleaddonpunct}% + \setunit{\jtitleaddonpunct}% \printfield{maintitleaddon}} \newcunit\newblock \printfield{usera}% For network ID and possible section of newspaper. @@ -9029,15 +9549,25 @@ test {\ifbibliography}% and togl {cms@bibjtabb}% + ) + or + ( + test {\iffieldundef{title}}% + and + test {\iffieldundef{titleaddon}}% )) }% {\clearlist{location}\printtext[shorttitle]{% \printfield[tnoformat]{shorttitle}}}% - {\printtext[title]{% - \printfield[tnoformat]{title}% - \setunit{\subtitlepunct}% - \printfield[stnoformat]{subtitle}}}% - \setunit*{\addspace}% + {\iffieldundef{title}% + {\printfield{titleaddon}}% + {\printtext[title]{% + \printfield[tnoformat]{title}% + \setunit{\subtitlepunct}% + \printfield[stnoformat]{subtitle}}% + \setunit{\jtitleaddonpunct}% + \printfield{titleaddon}}}% + \setunit{\addspace}% \printlist[periodplace]{location}% \iftoggle{cms@fullnote}{\newcunit}{\newunit}% \iffieldundef{maintitle}% @@ -9046,7 +9576,7 @@ \printfield[mtnoformat]{maintitle}% \setunit{\subtitlepunct}% \printfield[smtnoformat]{mainsubtitle}}% - \setunit{\ctitleaddonpunct}% + \setunit{\jtitleaddonpunct}% \printfield{maintitleaddon}} \newcunit\newblock \printfield{usera}% For network ID and possible section of newspaper. @@ -9609,6 +10139,16 @@ \noinherit{indexsorttitle} } +\DeclareDataInheritance{audio,music,video}{audio,music,video}{% + \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} @@ -9680,7 +10220,7 @@ \noinherit{urlyear} \noinherit{urlmonth} \noinherit{urlday} - \noinherit{urlseason} + \noinherit{urlyeardivision} \noinherit{urlhour} \noinherit{urlminute} \noinherit{doi} @@ -9693,19 +10233,19 @@ \noinherit{year} \noinherit{month} \noinherit{day} - \noinherit{season} + \noinherit{yeardivision} \noinherit{endyear} \noinherit{endmonth} \noinherit{endday} - \noinherit{endseason} + \noinherit{endyeardivision} \noinherit{origyear} \noinherit{origmonth} \noinherit{origday} - \noinherit{origseason} + \noinherit{origyeardivision} \noinherit{origendyear} \noinherit{origendmonth} \noinherit{origendday} - \noinherit{origendseason}} + \noinherit{origendyeardivision}} \DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7 \sort{ @@ -9910,8 +10450,8 @@ {}}% \ifentrytype{letter}% {\iftoggle{cms@switchdates}% - {\clearfield{year}\clearfield{month}\clearfield{season}}% - {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% + {\clearfield{year}\clearfield{month}\clearfield{yeardivision}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origyeardivision}}% \clearfield{origlocation}}% {}% \clearfield{reprinttitle}% @@ -9998,7 +10538,7 @@ {\usebibmacro{at+every+item}\toggletrue{cms@fullnote}% \iffieldundef{savedyear}{}{\clearfield{year}}% \iffieldundef{savedmonth}{}{\clearfield{month}}% - \iffieldundef{savedseason}{}{\clearfield{season}}% + \iffieldundef{savedyeardivision}{}{\clearfield{yeardivision}}% \iffieldundef{savedurl}{}{\clearfield{url}}% \iffieldundef{savedaddendum}{}{\clearfield{addendum}}% \usebibmacro{bib:related:full}}}}% @@ -10130,6 +10670,7 @@ {}% {\clearname{author}}}% {}}% + \togglefalse{cms@headlessnote}% \usebibmacro{at+every+item}% \renewbibmacro*{related:init}{}% \DeclareNameAlias{sortname}{default}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx index 440316bebc..b0593b162f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx @@ -2,7 +2,7 @@ % standard.bbx It provides the bibliography formatting for the Chicago % notes + bibliography style. -\ProvidesFile{chicago-notes16.bbx}[2021/06/30 v 3.16 biblatex +\ProvidesFile{chicago-notes16.bbx}[2022/07/02 v 3.18 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -3279,7 +3279,7 @@ bibliography style] \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -3288,7 +3288,7 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifdateyearsequal{#2}{#2end}% {\iffieldsequal{#2month}{#2endmonth}% {\csuse{mkbibdate#1}{}{}{#2day}}% @@ -3298,12 +3298,12 @@ bibliography style] {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -3320,13 +3320,13 @@ bibliography style] {}% \iffieldundef{#2endyear}% {\iffieldundef{#2endmonth}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% {\bibdaterangesep% - \csuse{mkbibseasondate#1}{}{#2endseason}}}% + \csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}}% {\bibdaterangesep% \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% {\iffieldequalstr{#2endyear}{}% @@ -3355,13 +3355,13 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdatedash% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -3379,7 +3379,7 @@ bibliography style] \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -3388,7 +3388,7 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}} {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \ifboolexpr{% test {\ifdateyearsequal{#2}{#2end}}% @@ -3399,7 +3399,7 @@ bibliography style] }% {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% {\cmsdateeraprint{#2year}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}% \if@cms@bracket% {\if@cms@uncertain% @@ -3415,7 +3415,7 @@ bibliography style] {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -3445,9 +3445,9 @@ bibliography style] {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdaterangesep% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -3463,7 +3463,8 @@ bibliography style] \newrobustcmd*{\cms@mkyearrangeextra}[3][]{% \begingroup \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% - \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \clearfield{#3endday}\clearfield{#3yeardivision}% + \clearfield{#3endyeardivision}% \blx@metadateinfo{#3}% \iffieldundef{#3year} {\blx@nounit}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx index ae7e9b1a7a..4301ea4756 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx @@ -3,7 +3,7 @@ % of providing footnote citations and a bibliography formatted % according to the specifications of the Chicago Manual of Style. -\ProvidesFile{chicago-notes16.cbx}[2021/03/27 v 3.16 biblatex citation style] +\ProvidesFile{chicago-notes16.cbx}[2022/07/02 v 3.18 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -725,16 +725,16 @@ {\printtext[\csuse{cms@xformat}]{% \printfield[letterday]{\csuse{cms@xfield}}}}% {\ifboolexpr{% - test {\ifcsstring{cms@xfield}{season}}% + test {\ifcsstring{cms@xfield}{yeardivision}}% or - test {\ifcsstring{cms@xfield}{origseason}}% + test {\ifcsstring{cms@xfield}{origyeardivision}}% or - test {\ifcsstring{cms@xfield}{eventseason}}% + test {\ifcsstring{cms@xfield}{eventyeardivision}}% or - test {\ifcsstring{cms@xfield}{urlseason}}% + test {\ifcsstring{cms@xfield}{urlyeardivision}}% }% {\printtext[\csuse{cms@xformat}]{% - \mkbibseason{\thefield{\csuse{cms@xfield}}}}}% + \mkbibyeardivision{\thefield{\csuse{cms@xfield}}}}}% {\IfSubStr{\cms@xfield}{year}% {\StrCut{\cms@xfield}{year}\cms@yeartype\cms@tempnull% \iffieldundef{\csuse{cms@yeartype}year}% @@ -756,7 +756,7 @@ {\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}}% + \iffieldundef{\csuse{cms@datetype}yeardivision}}% {}% {\printtext[\csuse{cms@xformat}]{% \csuse{print\cms@datetype date}}}}% @@ -5727,11 +5727,11 @@ \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {}% {\cms@datelong{orig}}}} @@ -5742,11 +5742,11 @@ \newcunit\newblock}% \iftoggle{cms@switchdates}% {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND% - \iffieldundef{season}}% + \iffieldundef{yeardivision}}% {}% {\cms@datelong{}}}% {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND% - \iffieldundef{origseason}}% + \iffieldundef{origyeardivision}}% {\printdate}% For interviews and other dated non-letters. {\cms@datelong{orig}}}} @@ -6605,7 +6605,7 @@ \noinherit{urlyear} \noinherit{urlmonth} \noinherit{urlday} - \noinherit{urlseason} + \noinherit{urlyeardivision} \noinherit{urlhour} \noinherit{urlminute} \noinherit{doi} @@ -6618,19 +6618,19 @@ \noinherit{year} \noinherit{month} \noinherit{day} - \noinherit{season} + \noinherit{yeardivision} \noinherit{endyear} \noinherit{endmonth} \noinherit{endday} - \noinherit{endseason} + \noinherit{endyeardivision} \noinherit{origyear} \noinherit{origmonth} \noinherit{origday} - \noinherit{origseason} + \noinherit{origyeardivision} \noinherit{origendyear} \noinherit{origendmonth} \noinherit{origendday} - \noinherit{origendseason}} + \noinherit{origendyeardivision}} \DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7 \sort{ @@ -6824,8 +6824,8 @@ {}}% \ifentrytype{letter}% {\iftoggle{cms@switchdates}% - {\clearfield{year}\clearfield{month}\clearfield{season}}% - {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% + {\clearfield{year}\clearfield{month}\clearfield{yeardivision}}% + {\clearfield{origyear}\clearfield{origmonth}\clearfield{origyeardivision}}% \clearfield{origlocation}}% {}% \clearfield{reprinttitle}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx index 8ce8961892..4f9c609b52 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-american.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-american.lbx}[2022/07/02 v 3.18 biblatex localization] \InheritBibliographyExtras{american} @@ -53,12 +53,12 @@ \iffieldbibstring{#1} {\bibstring{\thefield{#1}}} {\cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% - \protected\def\mkbibseasondateshort#1#2{% - \mkbibseason{\thefield{#2}}% + \protected\def\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% \iffieldundef{#1}{}{\space}% \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% - \protected\def\mkbibseasondatelong#1#2{% - \mkbibseason{\thefield{#2}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% \iffieldundef{#1}{}{\space}% \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% \protected\def\cmsmkdecade#1#2{% @@ -765,7 +765,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -774,7 +774,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifdateyearsequal{#2}{#2end}% {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% @@ -782,12 +782,12 @@ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -804,13 +804,13 @@ {}% \iffieldundef{#2endyear}% {\iffieldundef{#2endmonth}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% {\bibdaterangesep% - \csuse{mkbibseasondate#1}{}{#2endseason}}}% + \csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}}% {\bibdaterangesep% \iffieldsequal{#2month}{#2endmonth}% {\csuse{mkbibdate#1}{}{}{#2endday}}% @@ -841,15 +841,15 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdatedash% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -867,7 +867,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -876,7 +876,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}} {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season} + \iffieldundef{#2yeardivision} {\ifdateyearsequal{#2}{#2end}% {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}% {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}% @@ -884,12 +884,12 @@ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -905,7 +905,7 @@ {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -935,13 +935,13 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -959,7 +959,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -968,7 +968,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}} {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifboolexpr{% test {\ifdateyearsequal{#2}{#2end}}% and @@ -979,7 +979,7 @@ {\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}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}% \if@cms@bracket% {\if@cms@uncertain% @@ -995,7 +995,7 @@ {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -1025,9 +1025,9 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdaterangesep% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx index eaef1d770d..4c0d48b0dd 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-brazilian.lbx}[2021/03/27 v 3.16 biblatex localization] +\ProvidesFile{cms-brazilian.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Gustavo Barros. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx index ab14578a30..cdb86b94f3 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-british.lbx}[2021/03/27 v 3.16 biblatex localization] +\ProvidesFile{cms-british.lbx}[2022/07/02 v 3.18 biblatex localization] \InheritBibliographyExtras{british} @@ -62,12 +62,12 @@ \iffieldbibstring{#1} {\bibstring{\thefield{#1}}} {\cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% - \protected\def\mkbibseasondateshort#1#2{% - \mkbibseason{\thefield{#2}}% + \protected\def\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% \iffieldundef{#1}{}{\space}% \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% - \protected\def\mkbibseasondatelong#1#2{% - \mkbibseason{\thefield{#2}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% \iffieldundef{#1}{}{\space}% \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% \protected\def\cmsmkdecade#1#2{% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx index 20aaab07c8..92b9065557 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-dutch.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-dutch.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Wouter Lancee. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx index daa43138e1..b49f3a2fba 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-finnish.lbx}[2021/03/27 v 3.16 biblatex localization] +\ProvidesFile{cms-finnish.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Antti-Juhani Kaijanaho). diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx index 280e536fba..30d4e862b1 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-french.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-french.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Some strings still missing diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx index 9f0fc0b3cb..f1f4b8f1e1 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-german.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-german.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated strings and formatting decisions need review by native diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx index 612270f8af..c9458108e5 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-icelandic.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-icelandic.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Baldur Kristinsson). @@ -8,7 +8,7 @@ % makes straight translations difficult in some cases. % - Harmonized with icelandic.lbx + other fixes by dfussner (2021-04-17). % - Date handling altered by dfussner, along with a few other small -% fixes. I have attempted to make the new decade, century, season, +% fixes. I have attempted to make the new decade, century, yeardivision, % 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 @@ -35,21 +35,21 @@ \def\notesname{Athugasemdir}% \protected\def\mkjuridordinal{\mkbibordinal}% %%% The following code attempts to take account of the grammatical - %%% complexity of season presentation in Icelandic. Corrections + %%% complexity of yeardivision presentation in Icelandic. Corrections %%% gratefully received. - \protected\def\mkbibseasondateshort#1#2{% + \protected\def\mkbibyeardivisiondateshort#1#2{% \begingroup \let\cms@tempa\@empty - \blx@ifstrendswith{#2}{endseason}% - {\blx@stripfromendinto{#2}{endseason}\cms@datetype% + \blx@ifstrendswith{#2}{endyeardivision}% + {\blx@stripfromendinto{#2}{endyeardivision}\cms@datetype% \def\cms@tempa{end}}% - {\blx@stripfromendinto{#2}{season}\cms@datetype}% + {\blx@stripfromendinto{#2}{yeardivision}\cms@datetype}% \ifboolexpr{% test {\ifdateyearsequal{\csuse{cms@datetype}}% {\csuse{cms@datetype}end}}% and - not test {\iffieldsequal{\csuse{cms@datetype}season}% - {\csuse{cms@datetype}endseason}}% + not test {\iffieldsequal{\csuse{cms@datetype}yeardivision}% + {\csuse{cms@datetype}endyeardivision}}% }% {\ifdefstring{\cms@tempa}{end}% {\bibsstring{\thefield{#2}}}% @@ -60,19 +60,19 @@ {\bibsstring{\thefield{#2}}}}\endgroup% \iffieldundef{#1}{}{\space}% \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% - \protected\def\mkbibseasondatelong#1#2{% + \protected\def\mkbibyeardivisiondatelong#1#2{% \begingroup \let\cms@tempa\@empty - \blx@ifstrendswith{#2}{endseason}% - {\blx@stripfromendinto{#2}{endseason}\cms@datetype% + \blx@ifstrendswith{#2}{endyeardivision}% + {\blx@stripfromendinto{#2}{endyeardivision}\cms@datetype% \def\cms@tempa{end}}% - {\blx@stripfromendinto{#2}{season}\cms@datetype}% + {\blx@stripfromendinto{#2}{yeardivision}\cms@datetype}% \ifboolexpr{% test {\ifdateyearsequal{\csuse{cms@datetype}}% {\csuse{cms@datetype}end}}% and - not test {\iffieldsequal{\csuse{cms@datetype}season}% - {\csuse{cms@datetype}endseason}}% + not test {\iffieldsequal{\csuse{cms@datetype}yeardivision}% + {\csuse{cms@datetype}endyeardivision}}% }% {\ifdefstring{\cms@tempa}{end}% {\bibsstring{\thefield{#2}}}% @@ -364,7 +364,7 @@ chapter = {{kafli}{k\adddot}}, track = {{lag}{lag}}, circa = {{um \'arin}{um \'ari\dh}},% 2 cases of noun, these five - spring = {{vor}{vori\dh}},% Indefinite in long slot, for mkbibseason + spring = {{vor}{vori\dh}},% Indefinite in long slot, for mkbibyeardivision summer = {{sumar}{sumari\dh}},% in NB style (?) autumn = {{haust}{hausti\dh}},% winter = {{vetur}{veturinn}},% @@ -380,7 +380,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -391,7 +391,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\ifdateyearsequal{#2}{#2end}% {\iffieldsequal{#2month}{#2endmonth}% {\csuse{mkbibdate#1}{}{}{#2day}}% @@ -401,12 +401,12 @@ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}% {\cmsunspecified{#1}{#2}}}% {\ifdateyearsequal{#2}{#2end}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% - {\csuse{mkbibseasondate#1}{}{#2season}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}}% \if@cms@bracket% {\if@cms@uncertain% @@ -423,13 +423,13 @@ {}% \iffieldundef{#2endyear}% {\iffieldundef{#2endmonth}% - {\ifthenelse{\iffieldundef{#2endseason}\OR% - \iffieldsequal{#2season}{#2endseason}}% + {\ifthenelse{\iffieldundef{#2endyeardivision}\OR% + \iffieldsequal{#2yeardivision}{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% {\bibdaterangesep% - \csuse{mkbibseasondate#1}{}{#2endseason}}}% + \csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}}% {\bibdaterangesep% \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}% {\iffieldequalstr{#2endyear}{}% @@ -458,13 +458,13 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdatedash% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\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}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2endyeardivision}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -482,7 +482,7 @@ \blx@metadateinfo{#2}% \clearfield{extradate}% \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND% - \iffieldundef{#2season}}% + \iffieldundef{#2yeardivision}}% {}% {\printtext[#2date]{% \if@cms@bracket% @@ -493,7 +493,7 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\global\boolfalse{cms:bracket}}% - \iffieldundef{#2season}% + \iffieldundef{#2yeardivision}% {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \ifboolexpr{% test {\ifdateyearsequal{#2}{#2end}}% @@ -504,7 +504,7 @@ }% {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}% {\cmsdateeraprint{#2year}}}% - {\csuse{mkbibseasondate#1}{#2year}{#2season}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% \cmsdateeraprint{#2year}}% \if@cms@bracket% {\if@cms@uncertain% @@ -520,7 +520,7 @@ {}}}% {}% \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}% - \AND\iffieldundef{#2endseason}}% + \AND\iffieldundef{#2endyeardivision}}% {\ifbool{cms:bracket}% {\bibclosebracket\global\boolfalse{cms:bracket}}% {}}% @@ -550,9 +550,9 @@ {\bibsstring{circa}\printdelim{datecircadelim}}}% {}}% {\bibdaterangesep}}%\bibdaterangesep% - \iffieldundef{#2endseason}% + \iffieldundef{#2endyeardivision}% {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% \ifbool{cms:bracket}% {\if@cms@bracket% {\cmsdateeraprint{#2endyear}% @@ -569,7 +569,8 @@ \global\boolfalse{cms:extraparens}% \begingroup \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}% - \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}% + \clearfield{#3endday}\clearfield{#3yeardivision}% + \clearfield{#3endyeardivision}% \blx@metadateinfo{#3}% \iffieldundef{#3year} {\blx@nounit}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx index 25df1028e6..22143e2a32 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-ngerman.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-ngerman.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated strings and formatting decisions need review by native diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx index a1bc6ff299..7a5bce5ee7 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-norsk.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-norsk.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx index ae1a9679a7..b212aa8472 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-norwegian.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-norwegian.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx index 058e8131e2..c74acefd80 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-nynorsk.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-nynorsk.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx index f7cdf3c786..638927d13b 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-romanian.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-romanian.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Patrick Danilevici, creator of diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx index b7ab450f61..9094c8e244 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-spanish.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-spanish.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Mar\c{c}al Orteu Punsola diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx index 404d44f11f..c5162c4150 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-swedish.lbx}[2021/06/30 v 3.16 biblatex localization] +\ProvidesFile{cms-swedish.lbx}[2022/07/02 v 3.18 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Stefan Bj\"{o}rk). diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms.dbx new file mode 100644 index 0000000000..98bafea301 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms.dbx @@ -0,0 +1 @@ +\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,patronymic,papponymic,cjk} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty index 317fcb1c39..5847723412 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty @@ -59,28 +59,31 @@ \newif\ifenotelinks \newcounter{Hendnote} +\newcounter{cms@docnote} % Redefining portions of endnotes-package: \let\savedhref\href \let\savedurl\url \def\endnotemark{% \@ifnextchar[\@xendnotemark{% \stepcounter{endnote}% + \stepcounter{cms@docnote}% \protected@xdef\@theenmark{\theendnote}% - \protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}% + \protected@xdef\@theenvalue{\number\c@refsection\number\c@cms@docnote}% \@endnotemark }% }% \def\@xendnotemark[#1]{% + \stepcounter{cms@docnote}% \begingroup\c@endnote#1\relax \unrestored@protected@xdef\@theenmark{\theendnote}% - \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@cms@docnote}% \endgroup \@endnotemark }% \def\endnotetext{% \@ifnextchar[\@xendnotenext{% \protected@xdef\@theenmark{\theendnote}% - \protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}% + \protected@xdef\@theenvalue{\number\c@refsection\number\c@cms@docnote}% \@endnotetext }% }% @@ -88,23 +91,25 @@ \begingroup \c@endnote=#1\relax \unrestored@protected@xdef\@theenmark{\theendnote}% - \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@cms@docnote}% \endgroup \@endnotetext }% \def\endnote{% \@ifnextchar[\@xendnote{% \stepcounter{endnote}% + \stepcounter{cms@docnote}% \protected@xdef\@theenmark{\theendnote}% - \protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}% + \protected@xdef\@theenvalue{\number\c@refsection\number\c@cms@docnote}% \@endnotemark\@endnotetext }% }% \def\@xendnote[#1]{% + \stepcounter{cms@docnote}% \begingroup \c@endnote=#1\relax \unrestored@protected@xdef\@theenmark{\theendnote}% - \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@cms@docnote}% \show\@theenvalue \endgroup \@endnotemark\@endnotetext @@ -254,7 +259,10 @@ }% \newrobustcmd*{\lnbackref}[2]{% - \hyperlink{Hendnote.#2\the\value{#1}}{\color{DarkBlue}@#1}} + \hyperlink{Hendnote.\csuse{cms@id@#2}}{\color{DarkBlue}@#1}\{#2,} + +% \newrobustcmd*{\lnbackref}[2]{% +% \hyperlink{Hendnote.#2\the\value{#1}}{\color{DarkBlue}@#1}} \newrobustcmd*{\adlnbackref}[2]{% \@ifnextchar[%] @@ -273,7 +281,8 @@ \usedriver {\DeclareNameAlias{sortname}{default}\frenchspacing} {cite:\thefield{entrytype}}}} - {\iffieldequalstr{entrykey}{lac:leaders}% + {\global\cslet{cms@id@\thefield{entrykey}}{\@theenvalue}% + \iffieldequalstr{entrykey}{lac:leaders}% {\printtext{% \usedriver {\DeclareNameAlias{sortname}{default}\frenchspacing} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty index 219db4eae0..af968deeb7 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty @@ -1,6 +1,6 @@ % Copyright (c) 2003 John Lavagnino % 2003 Ulrich Dirr -% 2020-2021 David Fussner +% 2020-2022 David Fussner % % This package is currently maintained by David Fussner. % @@ -28,7 +28,7 @@ % Please see biblatex-chicago.pdf for details of how to use this % package. -\ProvidesPackage{cmsendnotes}[2021/06/30 v 3.16 biblatex auxiliary package] +\ProvidesPackage{cmsendnotes}[2022/07/02 v 3.18 biblatex auxiliary package] \RequirePackage{kvoptions} \RequirePackage{endnotes} @@ -84,6 +84,7 @@ \newcounter{Hendnote} \newcounter{cms@enttotal} \newcounter{cms@entprinted} +\newcounter{cms@endnote}% Give each endnote in document a unique ID %%% Hyperendnotes redefines portions of the endnotes package, now %%% further redefined for CMS @@ -159,14 +160,16 @@ \@ifnextchar[%] \@xendnotemark{% \stepcounter{endnote}% + \stepcounter{cms@endnote}% \protected@xdef\@theenmark{\theendnote}% - \protected@xdef\@theenvalue{\number\c@endnote}% + \protected@xdef\@theenvalue{\number\c@cms@endnote}% \@endnotemark}}% \def\@xendnotemark[#1]{% + \stepcounter{cms@endnote}% \begingroup\c@endnote#1\relax \unrestored@protected@xdef\@theenmark{\theendnote}% - \unrestored@protected@xdef\@theenvalue{\number\c@endnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@cms@endnote}% \endgroup \@endnotemark}% @@ -174,14 +177,14 @@ \@ifnextchar[%] \@xendnotenext{% \protected@xdef\@theenmark{\theendnote}% - \protected@xdef\@theenvalue{\number\c@endnote}% + \protected@xdef\@theenvalue{\number\c@cms@endnote}% \@endnotetext}}% \def\@xendnotenext[#1]{% \begingroup \c@endnote=#1\relax \unrestored@protected@xdef\@theenmark{\theendnote}% - \unrestored@protected@xdef\@theenvalue{\number\c@endnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@cms@endnote}% \endgroup \@endnotetext}% @@ -189,15 +192,17 @@ \@ifnextchar[%] \@xendnote{% \stepcounter{endnote}% + \stepcounter{cms@endnote}% \protected@xdef\@theenmark{\theendnote}% - \protected@xdef\@theenvalue{\number\c@endnote}% + \protected@xdef\@theenvalue{\number\c@cms@endnote}% \@endnotemark\@endnotetext}}% \def\@xendnote[#1]{% + \stepcounter{cms@endnote}% \begingroup \c@endnote=#1\relax \unrestored@protected@xdef\@theenmark{\theendnote}% - \unrestored@protected@xdef\@theenvalue{\number\c@endnote}% + \unrestored@protected@xdef\@theenvalue{\number\c@cms@endnote}% \show\@theenvalue \endgroup \@endnotemark\@endnotetext}% |