diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
29 files changed, 3083 insertions, 1171 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty b/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty index 2497d4df310..2db90186a1e 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/biblatex-chicago.sty @@ -1,4 +1,4 @@ -% Copyright (c) 2009-2020 David Fussner. This package is +% Copyright (c) 2009-2021 David Fussner. This package is % author-maintained. % % This work may be copied, distributed and/or modified under the @@ -11,47 +11,63 @@ % but not limited to, the implied warranties of merchantability and % fitness for a particular purpose. -\ProvidesPackage{biblatex-chicago}[2020/04/20 v 3.14 biblatex style] +\ProvidesPackage{biblatex-chicago}[2021/03/27 v 3.16 biblatex style] \RequirePackage{etoolbox} -\RequirePackage{nameref} +\RequirePackage{nameref}% this already loads kvoptions \RequirePackage{xstring} -\DeclareOption{authordate}{\def\cms@style{authordate}} -\DeclareOption{notes}{\def\cms@style{notes}} -\DeclareOption{authordate-trad}{\def\cms@style{authordatetrad}} -\DeclareOption{authordate16}{\def\cms@style{authordateold}} -\DeclareOption{notes16}{\def\cms@style{notesold}} -\DeclareOption{authordate-trad16}{\def\cms@style{authordatetrold}} -\DeclareOption*{\eappto\cms@options{\CurrentOption,}} +\SetupKeyvalOptions{% Use kvoptions to set biblatex load-time opts + family=cms@ldt, + prefix=cms@ldt@} + +\DeclareVoidOption{authordate}{\def\cms@style{authordate}} +\DeclareVoidOption{notes}{\def\cms@style{notes}} +\DeclareVoidOption{authordate-trad}{\def\cms@style{authordatetrad}} +\DeclareVoidOption{authordate16}{\def\cms@style{authordateold}} +\DeclareVoidOption{notes16}{\def\cms@style{notesold}} +\DeclareVoidOption{authordate-trad16}{\def\cms@style{authordatetrold}} +\DeclareDefaultOption{\eappto\cms@options{\CurrentOption,}} \let\cms@options\empty -\ExecuteOptions{notes}% +\setkeys{cms@ldt}{notes}% \newtoggle{cms@nomark} \newtoggle{cms@urlbreak} -\DeclareOption{footmarkoff}{\global\toggletrue{cms@nomark}} -\DeclareOption{cmsbreakurl}{\global\toggletrue{cms@urlbreak}} - -\DeclareOption{natbib}{% - \PassOptionsToPackage{natbib}{biblatex}} +\DeclareVoidOption{footmarkoff}{\global\toggletrue{cms@nomark}} +\DeclareVoidOption{cmsbreakurl}{\global\toggletrue{cms@urlbreak}} -\DeclareOption{backend=biber}{% - \PassOptionsToPackage{\CurrentOption}{biblatex}}% +\DeclareStringOption{natbib}[true] +\DeclareStringOption{mcite}[true] +\DeclareStringOption{casechanger}[auto] +\DeclareStringOption{backend}[biber] +\DeclareStringOption{datamodel} -\DeclareOption{backend=bibtex}{% - \PassOptionsToPackage{\CurrentOption}{biblatex}% - \def\blx@sorting@cms{1}}% +\ProcessLocalKeyvalOptions{cms@ldt} -\DeclareOption{backend=bibtex8}{% - \PassOptionsToPackage{\CurrentOption}{biblatex}% - \def\blx@sorting@cms{1}}% - -\DeclareOption{backend=bibtexu}{% - \PassOptionsToPackage{\CurrentOption}{biblatex}% - \def\blx@sorting@cms{1}}% +\ifdefvoid{\cms@ldt@backend}% +{\PassOptionsToPackage{backend=biber}{biblatex}}% +{\PassOptionsToPackage{backend=\cms@ldt@backend}{biblatex}% + \ifdefstring{\cms@ldt@backend}{biber}% + {}% + {\def\blx@sorting@cms{1}}} -\ProcessOptions* +\ifx\cms@ldt@datamodel\@empty +\else +\PassOptionsToPackage{datamodel=\cms@ldt@datamodel}{biblatex} +\fi +\ifx\cms@ldt@mcite\@empty +\else +\PassOptionsToPackage{mcite=\cms@ldt@mcite}{biblatex} +\fi +\ifx\cms@ldt@natbib\@empty +\else +\PassOptionsToPackage{natbib=\cms@ldt@natbib}{biblatex} +\fi +\ifx\cms@ldt@casechanger\@empty +\else +\PassOptionsToPackage{casechanger=\cms@ldt@casechanger}{biblatex} +\fi \def\cms@authordate{% \RequirePackage[style=chicago-authordate]{biblatex}% @@ -222,6 +238,7 @@ \DeclareLanguageMapping{icelandic}{cms-icelandic} \DeclareLanguageMapping{norsk}{cms-norsk} \DeclareLanguageMapping{nynorsk}{cms-nynorsk} +\DeclareLanguageMapping{romanian}{cms-romanian} \DeclareLanguageMapping{swedish}{cms-swedish} \ifundef\bbl@loaded{\let\bbl@loaded\@empty}{}% For old versions of babel diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx index 9919887ea20..a9d035cd51e 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx @@ -4,7 +4,7 @@ % the author-date (trad) style of the Chicago Manual of Style, 17th % edition. -\ProvidesFile{chicago-authordate-trad.cbx}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-authordate-trad.cbx}[2021/03/27 v 3.16 biblatex citation style] \RequireCitationStyle{chicago-dates-common} @@ -275,111 +275,76 @@ citation style] \DeclareFieldFormat{title:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{\MakeSentenceCase*{#1}}} +\DeclareFieldFormat{title:hook:alt}{% + \iftoggle{cms@reprintmt}% + {\begingroup + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% + \endgroup}% + {\lbx@inittitlehook{#1}}% Inside entries don't use main doc. lang. + \mkbibemph{\MakeSentenceCase*{#1}}} + \DeclareFieldFormat{ititle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \MakeSentenceCase*{#1}} \DeclareFieldFormat{jtitle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{#1}} \DeclareFieldFormat{chapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1\addspace\bibstring{in}} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1\addspace\bibstring{in}}% + \endgroup} \DeclareFieldFormat{avchapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1}% + \endgroup} \DeclareFieldFormat{muschapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{track}}% - \endgroup - \bibstring{track}~#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{track}}% + \bibstring{track}~#1}% + \endgroup}% + +\DeclareFieldFormat{volume:hook}{% + \begingroup + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{volume}}% + \bibstring{volume}~#1}% + \endgroup}% + +\DeclareFieldFormat{parttoo:hook}{% + \ifnumerals{#1}% + {\addcomma\addspace\bibstring[\mkrelatedstringtext]{partvolume}~#1}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}} + +\DeclareFieldFormat{part:hook}{% + \begingroup + \ifnumerals{#1}% + {\mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{partvolume}}% + \bibstring{partvolume}~#1}}% + {\mkrelatedstringtext{\lbx@inittitlehook{#1}}% + \ifcapital{\MakeCapital{#1}}{#1}}% + \endgroup} \DeclareFieldFormat{sjtnoformat}{#1} \DeclareFieldFormat{stnoformat}{#1} @@ -398,11 +363,23 @@ citation style] {\iffieldundef{journaltitle}% {\iffieldundef{maintitle}% {}% - {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\toggletrue{cms@reprintmt}% + \ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)% + \OR\ifentrytype{inbook}\OR\ifentrytype{incollection}\OR% + \ifentrytype{inproceedings}\OR\ifentrytype{letter}}% + {\DeclareFieldAlias{maintitle}{title:hook}}% + {\iffieldundef{volume}% + {\DeclareFieldAlias{part}{part:hook}% + \let\cms@ofwrap\mkrelatedstringtext}% + {\DeclareFieldAlias{volume}{volume:hook}% + \DeclareFieldAlias{part}{parttoo:hook}% + \let\cms@ofwrap\mkrelatedstringtext}}}}% {\DeclareFieldAlias{jtnoformat}{jtitle:hook}% \DeclareFieldAlias{sjtnoformat}{title}% \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{injournaltitle}{default}% \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{inshortjournal}{series}% \DeclareFieldAlias{jtsnoformat}{jtitle:hook}}}% {\DeclareFieldAlias{booktitle}{title:hook}}}% {\DeclareFieldAlias{tnoformat}{jtitle:hook}% @@ -417,8 +394,10 @@ citation style] \ifentrytype{video}}% {\iffieldundef{title}% {\ifentrytype{music}% - {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}% - {\DeclareFieldAlias{chapter}{avchapter:hook}}}% + {\DeclareFieldAlias[music]{chapter}{muschapter:hook}% + \let\cms@ofwrap\mkrelatedstringtext}% + {\DeclareFieldAlias{chapter}{avchapter:hook}% + \let\cms@ofwrap\mkrelatedstringtext}}% {\DeclareFieldAlias[video]{title}{title:hook}% \DeclareFieldAlias[audio]{title}{title:hook}% \DeclareFieldAlias[music]{title}{title:hook}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.cbx index a090b604eb8..1c11045f605 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad16.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-authordate-trad16.cbx}[2021/03/27 v 3.16 biblatex citation style] \RequireCitationStyle{chicago-dates-common16} @@ -246,93 +246,38 @@ citation style] \DeclareFieldFormat{title:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{\MakeSentenceCase*{#1}}} \DeclareFieldFormat{ititle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \MakeSentenceCase*{#1}} \DeclareFieldFormat{jtitle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{#1}} \DeclareFieldFormat{chapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1\addspace\bibstring{in}} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1\addspace\bibstring{in}}% + \endgroup} \DeclareFieldFormat{avchapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1}% + \endgroup} \DeclareFieldFormat{sjtnoformat}{#1} \DeclareFieldFormat{stnoformat}{#1} diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx index b5e787803e6..29f8c62649c 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-authordate.bbx}[2021/03/27 v 3.16 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -21,6 +21,7 @@ bibliography style] {\mkbibemph{\textbf{#1}}\isdot}}% \newlength{\lositemsep} +\newbibmacro*{begentry}{} \defbibenvironment{bibliography}% New for 0.9a {\list @@ -124,12 +125,15 @@ bibliography style] {}}% \defbibcheck{shortjournal}{% Only one list - \iffieldundef{shortjournal}% + \ifthenelse{\iffieldundef{shortjournal}\OR% + \iffieldsequal{journaltitle}{shortjournal}\OR% + \(\iffieldundef{journaltitle}\AND\(\ifentrytype{legal}\OR% + \ifentrytype{legislation}\OR\ifentrytype{jurisdiction}\)\)}% {\skipentry}% - {\ifcsdef{\strfield{shortjournal}=\strfield{journaltitle}}% + {\ifcsdef{\strfield{shortjournal}}% {\skipentry}% {\savefieldcs{shortjournal}% - {\strfield{shortjournal}=\strfield{journaltitle}}}}}% + {\strfield{shortjournal}}}}}% % \defbibcheck{shortjournal}{% Multiple lists % \ifcsdef{cms@shjour}% @@ -342,28 +346,35 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}}% {\printtext{\bibnamedash}% \ifentrytype{customc}% {\newunit}% - {\setunit{\addspace}}\printfield{nameaddon}}}% + {\setunit{\nameaddonpunct}}\printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{author}\bibrightbracket% + {\bibopenbracket\printnames{author}% + \ifentrytype{customc}% + {\bibclosebracket% + \usebibmacro{print+nameaddon}}% + {\usebibmacro{print+nameaddon}% + \bibclosebracket}% \savefield{fullhash}{\bbx@lasthash}}% {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + {\bibopenbracket\printnames{author}\addquestion% + \ifentrytype{customc}% + {\bibclosebracket% + \usebibmacro{print+nameaddon}}% + {\usebibmacro{print+nameaddon}% + \bibclosebracket}% \savefield{fullhash}{\bbx@lasthash}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames{author}% - \ifentrytype{customc}{}% - {\setunit{\addspace}\printfield{nameaddon}}\bibcloseparen% \ifentrytype{customc}% - {\newunit\printfield{nameaddon}}% - {}}% + {\bibcloseparen\usebibmacro{print+nameaddon}}% + {\usebibmacro{print+nameaddon}\bibcloseparen}}% {\printnames{author}% - \ifentrytype{customc}{\newunit}{\setunit{\addspace}}% - \printfield{nameaddon}}% + \usebibmacro{print+nameaddon}}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{moreauthor}{% @@ -376,21 +387,24 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}}% - {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% + \printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{author}\bibrightbracket% + {\bibopenbracket\printnames{author}% + \usebibmacro{print+nameaddon}\bibclosebracket% \savefield{fullhash}{\bbx@lasthash}}% {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + {\bibopenbracket\printnames{author}\addquestion% + \usebibmacro{print+nameaddon}\bibclosebracket% \savefield{fullhash}{\bbx@lasthash}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames{author}% - \setunit{\addspace}\printfield{nameaddon}\bibcloseparen}% + \usebibmacro{print+nameaddon}% + \bibcloseparen}% {\printnames{author}% - \setunit{\addspace}% - \printfield{nameaddon}}% + \usebibmacro{print+nameaddon}}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{pickeditor}{% @@ -408,17 +422,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\editordelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\editordelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames{editor}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\editordelim}% {\printnames{editor}% - \setunit{\addspace}% - \printfield{nameaddon}\editordelim}% + \usebibmacro{print+nameaddon}\editordelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{editstrg}}}% @@ -435,17 +448,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\editordelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\editordelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames{editor}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\editordelim}% {\printnames{editor}% - \setunit{\addspace}% - \printfield{nameaddon}\editordelim}% + \usebibmacro{print+nameaddon}\editordelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{editstrg}}}% {\ifboolexpr{% @@ -455,17 +467,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\nameadelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\nameadelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{namea}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\nameadelim}% {\printnames[sortname]{namea}% - \setunit{\addspace}% - \printfield{nameaddon}\nameadelim}% + \usebibmacro{print+nameaddon}\nameadelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}}} @@ -479,17 +490,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\nameadelim}% - {\printtext{\bibnamedash}\setunit{\addcomma}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\nameadelim}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{namea}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\nameadelim}% {\printnames[sortname]{namea}% - \setunit{\addspace}% - \printfield{nameaddon}\nameadelim}% + \usebibmacro{print+nameaddon}\nameadelim}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}} @@ -508,17 +518,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\newcunit}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\newcunit}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{translator}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\newcunit}% {\printnames[sortname]{translator}% - \setunit{\addspace}% - \printfield{nameaddon}\newcunit}% + \usebibmacro{print+nameaddon}\newcunit}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{transstrg}}} @@ -532,17 +541,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\newcunit}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\newcunit}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{nameb}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\newcunit}% {\printnames[sortname]{nameb}% - \setunit{\addspace}% - \printfield{nameaddon}\newcunit}% + \usebibmacro{print+nameaddon}\newcunit}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parttransstrg}}} @@ -556,20 +564,53 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\newcunit}% - {\printtext{\bibnamedash}\setunit{\addcomma}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\newcunit}}% {\iftoggle{cms@authorparens}% {\bibopenparen\printnames[sortname]{namec}% - \setunit{\addspace}\printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \bibcloseparen\newcunit}% {\printnames[sortname]{namec}% - \setunit{\addspace}% - \printfield{nameaddon}\newcunit}% + \usebibmacro{print+nameaddon}\newcunit}% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{compilestrg}}} +\newbibmacro*{print+nameaddon}{% + \ifboolexpr{% + togl {cms@nona}% + or + test {\iffieldundef{nameaddon}}% + }% + {}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + test {\iffieldequals{nameaddon}{\cms@lastna}}% + and + togl {cms@subseqnona}% + }% + {}% + {\ifentrytype{customc}{\newunit}{\setunit{\nameaddonpunct}}% + \printfield{nameaddon}% + \savefield{nameaddon}{\cms@lastna}}}}% + +\def\if@cms@nonameaddon{% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@nona}% + or + ( + test {\iffieldequals{nameaddon}{\cms@lastna}}% + and + togl {cms@subseqnona}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}}% + \renewcommand*{\revsdnamedelim}{\addcomma} \DeclareNameAlias{author}{sortname}% Needed in 0.9 @@ -610,7 +651,7 @@ bibliography style] \ifentrytype{periodical}}% {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}% \newcunit}}% - {\ifentrytype{manual}% + {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}% {\printtext[bibhyperref]{\printlist{organization}\newcunit}}% {}}}% {\ifboolexpr{% @@ -623,8 +664,8 @@ bibliography style] ) }% {\printnames{\thefield{labelnamesource}}\newunit}% - {\ifentrytype{customc}% - {\usebibmacro{justauthor}\setunit{\addspace}}% + {\ifthenelse{\ifentrytype{customc}\OR\ifentrytype{dataset}}% + {\usebibmacro{justauthor}}% Moved \addspace to field format (2.1) {\usebibmacro{author/editor}\newunit}}}% \printfield[lostitle]{title}% \finentry}}} @@ -792,6 +833,55 @@ bibliography style] \step[fieldsource=booktitle, final] \step[fieldset=sorttitle, origfieldval] } + \map[overwrite]{ + \pertype{customc} + \step[fieldsource=title, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=title, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=titleaddon, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=titleaddon, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=annotation, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=annotation, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=annote, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=annote, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=addendum, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=addendum, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=note, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=note, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } \map[overwrite]{% Backward compatibility kludges \step[fieldsource=year, match=\regexp{^\[(.+)\](.*)}, @@ -809,6 +899,7 @@ bibliography style] \DeclareBibliographyDriver{article}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{mag+news+author}% \newunit\newblock \usebibmacro{cmsbibsortdate}% @@ -857,7 +948,8 @@ bibliography style] {}% \usebibmacro{originally+published+as}% \usebibmacro{finentry}} - {\usebibmacro{bibindex}% +{\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}% @@ -866,7 +958,7 @@ bibliography style] \ifundef{\bbx@lasthash}{}{\usebibmacro{mag+news+title}}% \setunit{\addspace}% \usebibmacro{language+transtitle}% - \setunit*{\addperiod\addspace}\newblock% 16th ed. + \setunit*{\newunitpunct}\newblock% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% @@ -908,6 +1000,7 @@ bibliography style] \DeclareBibliographyDriver{artwork}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -956,6 +1049,7 @@ bibliography style] \DeclareBibliographyDriver{audio}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -985,7 +1079,7 @@ bibliography style] \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}% \iffieldundef{booktitle}% - {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\newunitpunct}}% Fix customc? {\setunit{\addcomma\addspace}}% \iffieldundef{edition}% {}% @@ -1009,10 +1103,10 @@ bibliography style] {\printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% \printtext{% - \printfield{maintitle}% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% \printfield[mainsubtitle]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% @@ -1055,6 +1149,7 @@ bibliography style] \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1142,7 +1237,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -1160,7 +1255,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -1175,6 +1270,7 @@ bibliography style] \DeclareBibliographyDriver{bookinbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1192,7 +1288,7 @@ bibliography style] \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% + \setunit*{\newunitpunct}% \ifboolexpr{% test {\iffieldundef{crossref}}% or @@ -1251,7 +1347,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -1269,7 +1365,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -1284,6 +1380,7 @@ bibliography style] \DeclareBibliographyDriver{booklet}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1319,6 +1416,7 @@ bibliography style] \DeclareBibliographyDriver{collection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{editor}% \newunit\newblock @@ -1383,7 +1481,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -1401,7 +1499,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -1416,9 +1514,14 @@ bibliography style] \DeclareBibliographyDriver{customc}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{justauthor}% - \iffieldundef{nameaddon}% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@nona}% + }% {\newunit}% {\setunit{\addspace}}% \usebibmacro{italtitle+stitle}% @@ -1426,6 +1529,7 @@ bibliography style] \DeclareBibliographyDriver{dataset}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1495,6 +1599,7 @@ bibliography style] \DeclareBibliographyDriver{image}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1543,6 +1648,7 @@ bibliography style] \DeclareBibliographyDriver{inbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1550,9 +1656,9 @@ bibliography style] \usebibmacro{cmsbibsortdate}% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% \ifboolexpr{% test {\iffieldundef{crossref}}% @@ -1564,7 +1670,7 @@ bibliography style] or togl {cms@crossref}% }% - {\setunit{\addperiod\addspace}% + {\setunit{\newunitpunct}% \usebibmacro{chapincoll}% \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit @@ -1611,7 +1717,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -1629,7 +1735,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -1644,6 +1750,7 @@ bibliography style] \DeclareBibliographyDriver{incollection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1651,9 +1758,9 @@ bibliography style] \usebibmacro{cmsbibsortdate}% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% \ifboolexpr{% test {\iffieldundef{crossref}}% @@ -1665,7 +1772,7 @@ bibliography style] or togl {cms@crossref}% }% - {\setunit{\addperiod\addspace}% Moved here. + {\setunit{\newunitpunct}% Moved here. \usebibmacro{chapincoll}% \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit @@ -1712,7 +1819,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -1730,7 +1837,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -1745,6 +1852,7 @@ bibliography style] \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -1752,9 +1860,9 @@ bibliography style] \usebibmacro{cmsbibsortdate}% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% \ifboolexpr{% test {\iffieldundef{crossref}}% @@ -1766,7 +1874,7 @@ bibliography style] or togl {cms@crossref}% }% - {\setunit{\addperiod\addspace}% + {\setunit{\newunitpunct}% \usebibmacro{chapincoll}% \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit\newblock @@ -1777,6 +1885,14 @@ bibliography style] \usebibmacro{ser+num}% \newunit\newblock \printfield{note}% + \setunit*{\addcomma\addspace}% + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \newunit\newblock \usebibmacro{bibreprint}% \usebibmacro{org+publ+loc+year}% @@ -1806,7 +1922,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -1824,7 +1940,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -1839,6 +1955,7 @@ bibliography style] \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{reference+title}%{italtitle+stitle} \newunit\newblock \usebibmacro{cmsbibsortdate}% @@ -1850,7 +1967,7 @@ bibliography style] {}% \newunit\newblock \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% need asterisk? + \setunit*{\newunitpunct}% need asterisk? \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit \iffieldundef{edition}% @@ -1906,6 +2023,7 @@ bibliography style] \DeclareBibliographyDriver{jurisdiction}{% \iffieldequalstr{entrysubtype}{square}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -1963,6 +2081,7 @@ bibliography style] \usebibmacro{finentry}} {\iffieldequalstr{entrysubtype}{round}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -2019,6 +2138,7 @@ bibliography style] {}% \usebibmacro{finentry}} {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -2085,6 +2205,7 @@ bibliography style] \DeclareBibliographyDriver{legal}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newcunit\newblock \usebibmacro{clegis+news+title}% @@ -2150,6 +2271,7 @@ bibliography style] \DeclareBibliographyDriver{legislation}{% \iffieldequalstr{entrysubtype}{uk}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newcunit\newblock \usebibmacro{clegis+news+title}% @@ -2213,6 +2335,7 @@ bibliography style] \usebibmacro{finentry}} {\iffieldequalstr{entrysubtype}{hansard}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newcunit\newblock \usebibmacro{clegis+news+title}% @@ -2269,6 +2392,7 @@ bibliography style] {}% \usebibmacro{finentry}} {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newcunit\newblock \usebibmacro{clegis+news+title}% @@ -2341,6 +2465,7 @@ bibliography style] \DeclareBibliographyDriver{letter}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -2356,7 +2481,7 @@ bibliography style] \usebibmacro{language+transtitle}% \newunit\newblock%\bibsentence \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% + \setunit*{\newunitpunct}% \ifboolexpr{% test {\iffieldundef{crossref}}% or @@ -2444,6 +2569,7 @@ bibliography style] \DeclareBibliographyDriver{manual}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author+org}% \newunit\newblock @@ -2487,6 +2613,7 @@ bibliography style] \DeclareBibliographyDriver{misc}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -2551,6 +2678,7 @@ bibliography style] \DeclareBibliographyDriver{music}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -2609,10 +2737,10 @@ bibliography style] {\printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% \printtext{% - \printfield{maintitle}% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% \printfield[mainsubtitle]{mainsubtitle}}% \setunit{ctitleaddonpunct}% @@ -2670,6 +2798,7 @@ bibliography style] \DeclareBibliographyDriver{online}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -2775,15 +2904,16 @@ bibliography style] \DeclareBibliographyDriver{patent}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author+holder}% + holder? \newunit\newblock \ifundef\bbx@lasthash{\usebibmacro{patenttitle+stitle}}{}% \usebibmacro{cmscitesortdate}% \newunit\newblock \ifundef\bbx@lasthash{}{\usebibmacro{patenttitle+stitle}}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \printfield{note}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{bibreprint}% \printfield{type}% \setunit{\addspace}% @@ -2831,6 +2961,7 @@ bibliography style] \DeclareBibliographyDriver{performance}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -2881,6 +3012,7 @@ bibliography style] \DeclareBibliographyDriver{periodical}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \newunit\newblock \ifboolexpr{% @@ -2942,7 +3074,8 @@ bibliography style] {}% \usebibmacro{originally+published+as}% \usebibmacro{finentry}} - {\usebibmacro{bibindex}% +{\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \newunit\newblock \ifboolexpr{% @@ -2975,7 +3108,7 @@ bibliography style] \usebibmacro{issuetitle}% \setunit{\addspace}% \usebibmacro{language+transtitle}% - \setunit*{\addperiod\addspace}\newblock% 16th ed. + \setunit*{\newunitpunct}\newblock% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -3009,6 +3142,7 @@ bibliography style] \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{editor}% \newunit\newblock @@ -3038,6 +3172,14 @@ bibliography style] \usebibmacro{ser+num}% \newunit\newblock \printfield{note}% + \setunit*{\addcomma\addspace}% + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \newunit\newblock \usebibmacro{bibreprint}% \usebibmacro{org+publ+loc+year}% @@ -3067,7 +3209,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{xref}}% \usebibmacro{bibpostxref}% @@ -3085,7 +3227,7 @@ bibliography style] test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{bibprexref}% \bibxrefcite{\thefield{crossref}}% \usebibmacro{bibpostxref}% @@ -3100,6 +3242,7 @@ bibliography style] \DeclareBibliographyDriver{reference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{reference+title}%{italtitle+stitle} \newunit\newblock \usebibmacro{cmsbibsortdate}% @@ -3111,7 +3254,7 @@ bibliography style] {}% \newunit\newblock \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% need asterisk? + \setunit*{\newunitpunct}% need asterisk? \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit \iffieldundef{edition}% @@ -3157,6 +3300,7 @@ bibliography style] \DeclareBibliographyDriver{report}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -3202,6 +3346,7 @@ bibliography style] \DeclareBibliographyDriver{review}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{mag+news+author}}% {\usebibmacro{author/editor}}% @@ -3299,6 +3444,7 @@ bibliography style] \DeclareBibliographyDriver{standard}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \ifnameundef{author}% {\iflistundef{organization}% @@ -3310,13 +3456,16 @@ bibliography style] and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}}}% {\iftoggle{cms@authorparens}% - {\bibopenparen\printlist{organization}\bibcloseparen}% - {\printlist{organization}}% + {\bibopenparen\printlist{organization}% + \usebibmacro{print+nameaddon}% + \bibcloseparen}% + {\printlist{organization}% + \usebibmacro{print+nameaddon}}% \savelist{organization}{\bbx@lasthash}}}}% {\usebibmacro{justauthor}}% \newunit\newblock @@ -3387,6 +3536,7 @@ bibliography style] \DeclareBibliographyDriver{suppbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author}% \newunit\newblock @@ -3460,6 +3610,7 @@ bibliography style] \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -3469,9 +3620,9 @@ bibliography style] \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% \newunit% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \printfield{note}% - \setunit{\addperiod\addspace}\newblock% + \setunit{\newunitpunct}\newblock% \usebibmacro{bibreprint}% \usebibmacro{type+inst+year}% \newunit\newblock @@ -3493,6 +3644,7 @@ bibliography style] \DeclareBibliographyDriver{unpublished}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -3502,7 +3654,7 @@ bibliography style] \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}% \newunit%usebibmacro{byauthorpunct}% Why does this work? No idea. \usebibmacro{byauthor}% Same in thesis type, as well. 16th ed. - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{byeditor+others}% Fix bug ??? \newunit\newblock \usebibmacro{bibreprint}% @@ -3540,6 +3692,7 @@ bibliography style] \DeclareBibliographyDriver{video}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{shorthand:author}% \usebibmacro{author/editor}% \newunit\newblock @@ -3567,17 +3720,17 @@ bibliography style] \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}} - {\setunit{\addperiod\addspace}% 16th ed. + {\setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}}% \iffieldundef{booktitle}% - {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\newunitpunct}}% Fix customc? {\setunit{\addcomma\addspace}}% \iffieldundef{edition}% {}% @@ -3601,10 +3754,10 @@ bibliography style] {\printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% \printtext{% - \printfield{maintitle}% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% \printfield[mainsubtitle]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% @@ -3675,7 +3828,7 @@ bibliography style] {\iffieldundef{doi}% {}% {\printfield{doi}% - \setunit*{\addperiod\addspace}\newblock% + \setunit*{\newunitpunct}\newblock% \clearfield{url}}}% {\ifboolexpr{% togl {cms@doi}% @@ -3683,7 +3836,7 @@ bibliography style] not test {\iffieldundef{doi}}% }% {\printfield{doi}% - \setunit*{\addperiod\addspace}\newblock}% + \setunit*{\newunitpunct}\newblock}% {}}% \ifboolexpr{% togl {cms@eprint}% @@ -3691,7 +3844,7 @@ bibliography style] not test {\iffieldundef{eprint}}% }% {\usebibmacro{eprint}% - \setunit*{\addperiod\addspace}\newblock}% + \setunit*{\newunitpunct}\newblock}% {}% \ifboolexpr{% togl {cms@url}% @@ -4709,7 +4862,7 @@ bibliography style] {\printfield{volume}}% Still print this w/o part or pages??? {\ifthenelse{\iffieldnums{pages}% \AND\iffieldundef{bookpagination}\AND\iffieldnums{volume}}% - {\printfield[default]{volume}% + {\printfield[shortvol]{volume}% \postvolpunct% \printfield{pages}}% {\printfield{volume}% @@ -4781,7 +4934,7 @@ bibliography style] {\iffieldundef{part}% {\ifthenelse{\iffieldnums{pages}% \AND\iffieldundef{bookpagination}\AND\iffieldnums{volume}}% - {\newcunit\printfield[default]{volume}% + {\newcunit\printfield[shortvol]{volume}% \postvolpunct% \printfield{pages}}% {\newcunit\printfield{volume}% @@ -4821,6 +4974,8 @@ bibliography style] {}% {\printfield{volumes}}}} +\def\cms@ofwrap#1{#1} + \newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% \iffieldundef{maintitle}% {}% @@ -4837,10 +4992,10 @@ bibliography style] {\printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% \printtext{% - \printfield{maintitle}% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% \printfield[mainsubtitle]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% @@ -4878,17 +5033,17 @@ bibliography style] {\printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% \printtext{% - \printfield{maintitle}% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% \printfield[mainsubtitle]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}}% \newbibmacro*{cjournal+ser+vol+num}[1]{% Moved to bbx - \usebibmacro{journal+sub}% + \usebibmacro{journal+sub}{in}% \setunit*{\addspace}% \printlist[periodplace]{location}% \setunit*{\addspace}% @@ -4930,7 +5085,7 @@ bibliography style] {\ifthenelse{\iffieldundef{bookpagination}\AND% \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}}% This may not be universally correct. + {\setunit{\journalpagespunct}}}% This may not be universally correct. {\printtext[parens]{% Perhaps if it's wrong use magazine subtype? \iffieldundef{issue}% {\usebibmacro{date}% @@ -4938,7 +5093,7 @@ bibliography style] {\printfield{issue}% \setunit{\addspace}% \usebibmacro{cmsyear}}}% - \setunit{\addcolon\addspace}}% + \setunit{\journalpagespunct}}% \usebibmacro{eid+or+pages}}% \newbibmacro*{periodical+issue+year+pages}[1]{% @@ -4957,7 +5112,7 @@ bibliography style] {\ifthenelse{\iffieldundef{bookpagination}\AND% \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}% {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}}% + {\setunit{\journalpagespunct}}}% {\printtext[parens]{% \iffieldundef{issue}% {\usebibmacro{date}% @@ -4965,7 +5120,7 @@ bibliography style] {\printfield{issue}% \setunit{\addspace}% \usebibmacro{cmsyear}}}% - \setunit{\addcolon\addspace}}% + \setunit{\journalpagespunct}}% \usebibmacro{eid+or+pages}}% \newbibmacro*{eid+or+pages}{% @@ -5124,6 +5279,8 @@ bibliography style] %%%% Related functionality from standard.bbx %%%% +\providecommand*{\mkrelatedstringtext}[1]{{{\mainlang #1}}} + \newcounter{bbx:relatedcount} \newcounter{bbx:relatedtotal} @@ -5134,13 +5291,27 @@ bibliography style] {\let\cms@related@hash\bbx@lasthash}{}}% \newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}% {\global\let\bbx@lasthash\cms@related@hash% - \let\cms@related@hash\undefined}{}}% + \let\cms@related@hash\undefined}{}\global\undef\cbx@lasthash}% \newbibmacro*{begrelatedloop}{} \newbibmacro*{endrelatedloop}{} +\renewcommand*{\begrelateddelim}{% + \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% + \ifentrytype{legislation}}% + {\newcunitpunct}% + {\newunitpunct}}% + \newcommand*{\begrelateddelimmaintitle}{\newunitpunct\par\nobreak}% \newcommand*{\begrelateddelimmaintitlenc}{\newunitpunct\par\nobreak}% +% The idea here is to support standard multicite presentation via the +% 'short' relatedtype mechanism. + +\newcommand*{\relateddelimshort}{% + \iffieldequals{fullhash}{\cbx@lasthash}% + {\ifbool{cms:atcite}{\addsemicolon\addspace}{\addcomma\addspace}}% + {\addsemicolon\addspace}}% + \def\ifrelatedloop{% \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}% or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}% @@ -5197,14 +5368,14 @@ bibliography style] test {\ifbibxstring{\thefield{relatedtype}s}}% }% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}s}}}% {\iffieldbibstring{relatedtype}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}}}}% {}}}% {\iffieldbibstring{relatedstring}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedstring}}}}% {\printfield[\bbx@tempb]{relatedstring}}}% \docsvfield{related}% \usebibmacro{endrelatedloop}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx index 1e37ea0ecce..b3d9453eef6 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-authordate.cbx}[2021/03/27 v 3.16 biblatex citation style] \RequireCitationStyle{chicago-dates-common} @@ -194,8 +194,10 @@ citation style] {}% \printtext[issuetitle]{% \printfield[itnoformat]{issuetitle}% - \setunit{\subtitlepunct}% - \printfield[sitnoformat]{issuesubtitle}}}} + \iftoggle{cms@origpublished}% Complications due to \smartof + {}% + {\setunit{\subtitlepunct}% + \printfield[sitnoformat]{issuesubtitle}}}}} %%%% Related macros that can't reside in common.cbx %%%% @@ -220,93 +222,71 @@ citation style] \DeclareFieldFormat{title:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{#1}} +\DeclareFieldFormat{title:hook:alt}{% + \iftoggle{cms@reprintmt}% + {\begingroup + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% + \endgroup}% + {\lbx@inittitlehook{#1}}% Inside entries don't use main doc. lang. + \mkbibemph{#1}} + \DeclareFieldFormat{ititle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup - \mkbibquote{#1}} + \iffieldundef{issuesubtitle}% + {\mkbibquote{#1}}% + {\mkbibquote{#1\subtitlepunct\printfield{issuesubtitle}}}} \DeclareFieldFormat{chapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1\addspace\bibstring{in}} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1\addspace\bibstring{in}} + \endgroup} \DeclareFieldFormat{avchapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1} + \endgroup} \DeclareFieldFormat{muschapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{track}}% - \endgroup + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{track}}% \bibstring{track}~#1}% + \endgroup} + +\DeclareFieldFormat{volume:hook}{% + \begingroup + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{volume}}% + \bibstring{volume}~#1}% + \endgroup}% + +\DeclareFieldFormat{parttoo:hook}{% + \ifnumerals{#1}% + {\addcomma\addspace\bibstring[\mkrelatedstringtext]{partvolume}~#1}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}} + +\DeclareFieldFormat{part:hook}{% + \begingroup + \ifnumerals{#1}% + {\mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{partvolume}}% + \bibstring{partvolume}~#1}}% + {\mkrelatedstringtext{\lbx@inittitlehook{#1}}% + \ifcapital{\MakeCapital{#1}}{#1}}% + \endgroup} \DeclareFieldFormat{sitnoformat}{#1} \DeclareFieldFormat{sjtnoformat}{#1} @@ -327,11 +307,23 @@ citation style] {\iffieldundef{journaltitle}% Switch order for 17th ed. {\iffieldundef{maintitle}% {}% - {\DeclareFieldAlias{maintitle}{title:hook}}}% + {\toggletrue{cms@reprintmt}% + \ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)% + \OR\ifentrytype{inbook}\OR\ifentrytype{incollection}\OR% + \ifentrytype{inproceedings}\OR\ifentrytype{letter}}% + {\DeclareFieldAlias{maintitle}{title:hook}}% + {\iffieldundef{volume}% + {\DeclareFieldAlias{part}{part:hook}% + \let\cms@ofwrap\mkrelatedstringtext}% + {\DeclareFieldAlias{volume}{volume:hook}% + \DeclareFieldAlias{part}{parttoo:hook}% + \let\cms@ofwrap\mkrelatedstringtext}}}}% {\DeclareFieldAlias{jtnoformat}{title:hook}% \DeclareFieldAlias{sjtnoformat}{title}% \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{injournaltitle}{default}% \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{inshortjournal}{series}% \DeclareFieldAlias{jtsnoformat}{title:hook}}}% {\DeclareFieldAlias{booktitle}{title:hook}}}% {\DeclareFieldAlias{tnoformat}{title:hook}% @@ -341,16 +333,16 @@ citation style] \DeclareFieldAlias[music]{title}{default}% \DeclareFieldAlias{title}{default}% \DeclareFieldAlias[periodical]{shorttitle}{series}}}% - {\iffieldundef{issuesubtitle}% - {\DeclareFieldAlias{itnoformat}{ititle:hook}% - \DeclareFieldAlias{issuetitle}{default}}% - {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}% + {\DeclareFieldAlias{itnoformat}{ititle:hook}% + \DeclareFieldAlias{issuetitle}{default}}}% {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% {\ifentrytype{music}% - {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}% - {\DeclareFieldAlias{chapter}{avchapter:hook}}}% + {\DeclareFieldAlias[music]{chapter}{muschapter:hook}% + \let\cms@ofwrap\mkrelatedstringtext}% + {\DeclareFieldAlias{chapter}{avchapter:hook}% + \let\cms@ofwrap\mkrelatedstringtext}}% {\DeclareFieldAlias{tnoformat}{title:hook}% \DeclareFieldAlias{stnoformat}{citetitle}% \DeclareFieldAlias[video]{title}{default}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.bbx index e0bde354e9e..02081d02573 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-authordate16.bbx}[2021/03/27 v 3.16 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -4579,6 +4579,8 @@ bibliography style] %%%% Related functionality from standard.bbx %%%% +\providecommand*{\mkrelatedstringtext}[1]{{{\mainlang #1}}} + \newcounter{bbx:relatedcount} \newcounter{bbx:relatedtotal} @@ -4652,14 +4654,14 @@ bibliography style] test {\ifbibxstring{\thefield{relatedtype}s}}% }% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}s}}}% {\iffieldbibstring{relatedtype}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}}}}% {}}}% {\iffieldbibstring{relatedstring}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedstring}}}}% {\printfield[\bbx@tempb]{relatedstring}}}% \docsvfield{related}% \usebibmacro{endrelatedloop}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.cbx index 725a201aec6..fff90b8a0e8 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate16.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-authordate16.cbx}[2021/03/27 v 3.16 biblatex citation style] \RequireCitationStyle{chicago-dates-common16} @@ -177,8 +177,10 @@ citation style] {}% \printtext[issuetitle]{% \printfield[itnoformat]{issuetitle}% - \setunit{\subtitlepunct}% - \printfield[sitnoformat]{issuesubtitle}}}} + \iftoggle{cms@origpublished}% Complications due to \smartof + {}% + {\setunit{\subtitlepunct}% + \printfield[sitnoformat]{issuesubtitle}}}}} %%%% Related macros that can't reside in common.cbx %%%% @@ -203,75 +205,33 @@ citation style] \DeclareFieldFormat{title:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{#1}} \DeclareFieldFormat{ititle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup - \mkbibquote{#1}} + \iffieldundef{issuesubtitle}% + {\mkbibquote{#1}}% + {\mkbibquote{#1\subtitlepunct\printfield{issuesubtitle}}}} \DeclareFieldFormat{chapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1\addspace\bibstring{in}} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1\addspace\bibstring{in}} + \endgroup} \DeclareFieldFormat{avchapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1} + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibstring{chapter}}% + \bibstring{chapter}~#1} + \endgroup} \DeclareFieldFormat{sitnoformat}{#1} \DeclareFieldFormat{sjtnoformat}{#1} @@ -306,10 +266,8 @@ citation style] \DeclareFieldAlias[music]{title}{default}% \DeclareFieldAlias{title}{default}% \DeclareFieldAlias[periodical]{shorttitle}{series}}}% - {\iffieldundef{issuesubtitle}% - {\DeclareFieldAlias{itnoformat}{ititle:hook}% - \DeclareFieldAlias{issuetitle}{default}}% - {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}% + {\DeclareFieldAlias{itnoformat}{ititle:hook}% + \DeclareFieldAlias{issuetitle}{default}}}% {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx index 902b41fa645..7a410eba8ac 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common.cbx @@ -4,7 +4,7 @@ % list) for the two author-date styles of the Chicago Manual of Style, % 17th edition. -\ProvidesFile{chicago-dates-common.cbx}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-dates-common.cbx}[2021/03/27 v 3.16 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -13,6 +13,8 @@ citation style] \newbool{cms:bracket} \newbool{cms:extraparens} \newbool{cms:comma} +\newbool{cms:atcite} +\newbool{cms:tcit} \providecommand*{\mkibid}[1]{#1} @@ -58,9 +60,12 @@ citation style] \providetoggle{cms@headlessnote}% Keep \providetoggle{cms@noibid}% Keep \providetoggle{cms@namedash} +\providetoggle{cms@nona} +\providetoggle{cms@subseqnona} \providetoggle{cms@usecompiler}% Keep \providetoggle{cms@origpublished}% Keep \providetoggle{cms@annotation}% Keep +\providetoggle{cms@cbxannote} \providetoggle{cms@postposit}% Keep \providetoggle{cms@fullshhand}% \providetoggle{cms@allshort}% For legal types @@ -77,6 +82,7 @@ citation style] \providetoggle{cms@related} \providetoggle{cms@linkit} \providetoggle{cms@authortitle} +\providetoggle{cms@shortrelated} \AtEveryCitekey{% \iffieldundef{userc}% @@ -180,10 +186,133 @@ citation style] \DeclareBiblatexOption{global,entry}[boolean]{hypertitle}[true]{% \settoggle{cms@linkit}{#1}}% -\DeclareBibliographyOption[boolean]{annotation}[true]{% - \global\settoggle{cms@annotation}{#1}}% - -\DeclareBibliographyOption[boolean]{dashed}[true]{% +\DeclareBiblatexOption{global,type,entry}[string]{annotation}[true]{% + \ifcsdef{cms@opt@annot@#1}% + {\csuse{cms@opt@annot@#1}}% + {\blx@err@invopt{annotation=#1}{}}}% +\def\cms@opt@annot@true{% + \toggletrue{cms@annotation}% + \togglefalse{cms@cbxannote}} +\def\cms@opt@annot@false{% + \togglefalse{cms@annotation}% + \togglefalse{cms@cbxannote}} +\def\cms@opt@annot@notes{% + \togglefalse{cms@annotation}% + \toggletrue{cms@cbxannote}} +\def\cms@opt@annot@bib{% + \toggletrue{cms@annotation}% + \togglefalse{cms@cbxannote}} +\def\cms@opt@annot@all{% + \toggletrue{cms@annotation}% + \toggletrue{cms@cbxannote}} + +\DeclareBiblatexOption{global,type,entry}[string]{bibannotesep}[vpar]{% + \ifcsdef{cms@opt@bannsep@#1}% + {\csuse{cms@opt@bannsep@#1}}% + {\blx@err@invopt{bibannotesep=#1}{}}} +\def\cms@opt@bannsep@none{% + \let\bibannotesep\@empty}% +\def\cms@opt@bannsep@comma{% + \def\bibannotesep{\addcomma\addspace}}% +\def\cms@opt@bannsep@colon{% + \def\bibannotesep{\addcolon\addspace}}% +\def\cms@opt@bannsep@space{% + \def\bibannotesep{\addspace}}% +\def\cms@opt@bannsep@semicolon{% + \def\bibannotesep{\addsemicolon\addspace}}% +\def\cms@opt@bannsep@period{% + \def\bibannotesep{\addperiod\addspace}}% +\def\cms@opt@bannsep@par{% + \def\bibannotesep{\addperiod\par\nobreak}}% +\def\cms@opt@bannsep@vpar{% + \def\bibannotesep{\addperiod\par\nobreak \vskip \bibitemsep}}% +\def\cms@opt@bannsep@parbreak{% + \def\bibannotesep{\addperiod\par}}% +\def\cms@opt@bannsep@vparbreak{% + \def\bibannotesep{\addperiod\par \vskip \bibitemsep}}% + +\DeclareBiblatexOption{global,type,entry}[string]{citeannotesep}[period]{% + \ifcsdef{cms@opt@cannsep@#1}% + {\csuse{cms@opt@cannsep@#1}}% + {\blx@err@invopt{citeannotesep=#1}{}}} +\def\cms@opt@cannsep@none{% + \let\citeannotesep\@empty}% +\def\cms@opt@cannsep@comma{% + \def\citeannotesep{\addcomma\addspace}}% +\def\cms@opt@cannsep@colon{% + \def\citeannotesep{\addcolon\addspace}}% +\def\cms@opt@cannsep@space{% + \def\citeannotesep{\addspace}}% +\def\cms@opt@cannsep@semicolon{% + \def\citeannotesep{\addsemicolon\addspace}}% +\def\cms@opt@cannsep@period{% + \def\citeannotesep{\addperiod\addspace}}% +\def\cms@opt@cannsep@par{% + \def\citeannotesep{\addperiod\par\nobreak}}% +\def\cms@opt@cannsep@vpar{% + \def\citeannotesep{\addperiod\par\nobreak \vskip\p@}}% +\def\cms@opt@cannsep@parbreak{% + \def\citeannotesep{\addperiod\par}}% +\def\cms@opt@cannsep@vparbreak{% + \def\citeannotesep{\addperiod\par \vskip\p@}}% + +\DeclareBiblatexOption{global}[string]{formatbib}[max]{% + \ifcsdef{cms@opt@formatbib@#1}% + {\csuse{cms@opt@formatbib@#1}}% + {\blx@err@invopt{formatbib=#1}{}}}% +\def\cms@opt@formatbib@max{}% +\def\cms@opt@formatbib@min{% + \renewcommand*{\bibsetup}{% + \interlinepenalty=0\relax + \widowpenalty=0\relax + \@clubpenalty=0\relax + \clubpenalty=0\relax + \brokenpenalty=0\relax + \raggedbottom + \frenchspacing + \biburlsetup}}% +\def\cms@opt@formatbib@minwo{% + \patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalty=0\relax}{}{}}% +\def\cms@opt@formatbib@annote{% + \patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalty=0\relax}{}{}% + \AtEveryBibitem{% + \interlinepenalty=5000\relax}}% +\def\cms@opt@formatbib@annotenp{% + \AtEndPreamble{% + \ifdefvoid{\cms@entrybreak}% + {\patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalties\cmspens{3}\relax}{}{}}% + {\patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalties\cmspens{\cms@entrybreak}\relax}{}{}}}}% + +\DeclareBiblatexOption{global}[integer]{entrybreak}[3]{% + \IfInteger{#1}% + {\numdef\cms@entrybreak{#1}}% + {\numdef\cms@entrybreak{3}\cms@warning@noline% + {'entrybreak=#1' isn't a valid option.\MessageBreak + This option only accepts integers.\MessageBreak + It has been set to the default '3'.\MessageBreak + Please see biblatex-chicago.pdf for\MessageBreak + more information}}} + +\def\cmspens@i#1{\space + \ifnum#1>\@ne\number5000 + \expandafter\cmspens@i + \expandafter{\number\numexpr#1-\@ne\expandafter}% + \else + \ifnum#1>\z@\number10 + \else\unspace + \fi\fi} + +\def\cmspens#1{\space #1\cmspens@i{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{dashed}[true]{% \settoggle{cms@namedash}{#1}} \DeclareBibliographyOption[boolean]{short}[true]{% @@ -210,13 +339,8 @@ citation style] \DeclareBibliographyOption[boolean]{compressyears}[true]{% \global\settoggle{cms@compyears}{#1}}% -\DeclareBibliographyOption[string]{postnotepunct}[true]{% - \ifcsdef{cms@opt@ppunct@#1}% - {\csuse{cms@opt@ppunct@#1}}% - {\blx@err@invopt{postnotepunct=#1}{}}}% -\def\cms@opt@ppunct@true{% - \global\toggletrue{cms@modpostnote}}% -\def\cms@opt@ppunct@false{}% +\DeclareBibliographyOption[boolean]{postnotepunct}[true]{% + \global\settoggle{cms@modpostnote}{#1}}% \DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% \settoggle{blx@usenamec}{#1}}% @@ -292,6 +416,32 @@ citation style] \DeclareBibliographyOption[boolean]{ordinalgb}[true]{% \settoggle{cms@ukord}{#1}}% +% Controlling formatting of, and punctuation before, nameaddon fields % + +\DeclareBiblatexOption{global,type,entry}[string]{nameaddonformat}{% + \def\cms@naformat{#1}} + +\DeclareBiblatexOption{global,type,entry}[string]{nameaddonsep}[space]{% + \ifcsdef{cms@opt@nasep@#1}% + {\csuse{cms@opt@nasep@#1}}% + {\csuse{cms@opt@nasep@space}\cms@warning@noline% + {'nameaddonsep=#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@nasep@none{% + \let\nameaddonpunct\@empty}% +\def\cms@opt@nasep@comma{% + \def\nameaddonpunct{\addcomma\addspace}}% +\def\cms@opt@nasep@colon{% + \def\nameaddonpunct{\addcolon\addspace}}% +\def\cms@opt@nasep@space{% + \def\nameaddonpunct{\addspace}}% +\def\cms@opt@nasep@semicolon{% + \def\nameaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@nasep@period{% + \def\nameaddonpunct{\addperiod\addspace}}% + % Controlling punctuation before titleaddon fields % \DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{% @@ -313,7 +463,7 @@ citation style] \def\cms@opt@ptao@semicolon{% \def\ptitleaddonpunct{\addsemicolon\addspace}}% \def\cms@opt@ptao@period{% - \def\ptitleaddonpunct{\addperiod\addspace}}% + \def\ptitleaddonpunct{\newunitpunct}}% \DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{% \ifcsdef{cms@opt@ctao@#1}% @@ -334,7 +484,7 @@ citation style] \def\cms@opt@ctao@semicolon{% \def\ctitleaddonpunct{\addsemicolon\addspace}}% \def\cms@opt@ctao@period{% - \def\ctitleaddonpunct{\addperiod\addspace}}% + \def\ctitleaddonpunct{\newunitpunct}}% % The field-exclusion options % @@ -372,12 +522,29 @@ citation style] \DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{% \settoggle{cms@hidevolumes}{#1}}% +\DeclareBiblatexOption{global,type,entry}[string]{nameaddon}[all]{% + \ifcsdef{cms@gopt@na@#1}% + {\csuse{cms@gopt@na@#1}}% + {\csuse{cms@gopt@na@all}\cms@warning@noline% + {'nameaddon=#1' is not a valid option.\MessageBreak + The default - 'all' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@gopt@na@all{}% +\def\cms@gopt@na@none{% + \settoggle{cms@nona}{true}}% +\def\cms@gopt@na@cite{\settoggle{cms@nona}{true}}% +\def\cms@gopt@na@bib{}% +\def\cms@gopt@na@first{\settoggle{cms@subseqnona}{true}}% +\def\cms@gopt@na@citefirst{\settoggle{cms@nona}{true}}% +\def\cms@gopt@na@bibfirst{\settoggle{cms@subseqnona}{true}}% + \DeclareBiblatexOption{type,entry}[boolean]{authortitle}[true]{% \settoggle{cms@authortitle}{#1}}% \ExecuteBibliographyOptions{includeall,hidevolumes,booklongxref,related,% ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes,% - dashed}% + dashed,bibannotesep,citeannotesep,nameaddonsep=space}% \ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}% \ExecuteBibliographyOptions[dataset]{authortitle=true}% @@ -393,6 +560,22 @@ citation style] \map{ \step[fieldsource=shorthand, final] \step[fieldset=sortname, origfieldval]}}}}% + {}% + \iftoggle{cms@strict}% + {\let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0}% + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }}% {}} \DeclareLabeltitle[legislation]{% @@ -559,23 +742,7 @@ citation style] \settoggle{cms@switchdates}{#1}}% \DeclareBibliographyOption[boolean]{strict}[true]{% - \settoggle{cms@strict}{#1}% - \iftoggle{cms@strict}% - {\let\splitfootnoterule\footnoterule - \renewcommand\footnoterule{}% - \advance\skip\footins 4\p@\@plus2\p@\relax - \gdef\split@prev{0}% - \let\pagefootnoterule\footnoterule - % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} - \def\footnoterule{\relax - \ifnum\split@prev=\z@ - \pagefootnoterule - \else - \splitfootnoterule - \fi - \xdef\split@prev{\the\insertpenalties}% - }}% - {}}% + \settoggle{cms@strict}{#1}}% \protected\def\blx@newcunit{% \iftoggle{blx@keepunit}% @@ -670,7 +837,11 @@ citation style] \usebibmacro{cmscitesortdate}% \usebibmacro{cite:reinit}}% {\iffieldequals{fullhash}{\cbx@lasthash}% - {\iffieldundef{postnote}% + {\ifboolexpr{% + test {\iffieldundef{postnote}}% + and + not bool {cms:atcite}% + }% {\setunit{\compcitedelim}}% {}% \usebibmacro{cmscitesortdate}}% @@ -683,7 +854,8 @@ citation style] {\savefield{fullhash}{\cbx@lasthash}}% {\savefield{fullhash}{\cbx@lastyear}}}}}% {\usebibmacro{cite:shorthand}}}}% - \setunit{\multicitedelim}}% ??? + \ifnumless{\value{citecount}}{\value{citetotal}}% + {\setunit{\multicitedelim}}{}}% ??? \newbibmacro*{cmsbracketname}{% \iffieldequalstr{authortype}{anon}% @@ -720,7 +892,7 @@ citation style] }% Altered for CMS {\iffieldequals{fullhash}{\cbx@lasthash}% {\iffieldundef{postnote}% - {\setunit{\compcitedelim}}% + {\setunit{\multicitedelim}}% {}% \usebibmacro{cite:label}}% {\usebibmacro{cite:label}% @@ -728,7 +900,11 @@ citation style] {\savefield{fullhash}{\cbx@lasthash}}% {}}}% {\iffieldequals{fullhash}{\cbx@lasthash}% - {\iffieldundef{postnote}% + {\ifboolexpr{% + test {\iffieldundef{postnote}}% + and + not bool {cms:atcite}% + }% {\setunit{\compcitedelim}}% {}% \usebibmacro{cmscitesortdate}}% @@ -752,6 +928,8 @@ citation style] togl {cms@authortitle}% or test {\iffieldequalstr{entrysubtype}{classical}}% + or + bool {cms:atcite}% }% {\setunit{\multicitedelim}}% {\setunit{\compcitedelim}}}}% @@ -883,6 +1061,8 @@ citation style] togl {cms@authortitle}% or test {\iffieldequalstr{entrysubtype}{classical}}% + or + bool {cms:atcite}% }% {\setunit{\multicitedelim}}% {\setunit{\compcitedelim}}}}% @@ -898,7 +1078,9 @@ citation style] {\iffieldequals{fullhash}{\cbx@lastyear}% {\setunit{\multicitedelim}% \global\undef\cbx@lastyear}% - {\setunit{\compcitedelim}}}% + {\ifbool{cms:atcite}% + {\setunit{\multicitedelim}}% + {\setunit{\compcitedelim}}}}% {\setunit{\multicitedelim}}% \printtext[bibhyperref]{% \printfield{shorthand}}}}% @@ -992,7 +1174,7 @@ citation style] \iffieldundef{postnote}% {}% {\savefield{fullhash}{\cbx@lastyear}% - \setunit{\postnotewrapper}%delim}% + \postnotewrapper%\setunit{\postnotewrapper} \printfield{postnote}}% \ifthenelse{\value{multicitecount}=\value{multicitetotal}}% {\setunit{}% @@ -1010,7 +1192,9 @@ citation style] \iftoggle{cms@los}% {\iffieldequals{fullhash}{\cbx@lasthash}% {\printtext[cmshyper]{% - \setunit{\compcitedelim}% + \ifbool{cms:atcite}% + {\setunit{\multicitedelim}}% + {\setunit{\compcitedelim}}% \usebibmacro{cmscitesortdate}}}% {\printfield{shorthand}% \printtext[cmshyper]{% @@ -1081,7 +1265,8 @@ citation style] \printfield{booktitleaddon}% \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}}% {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}}% - {\printtext[cmshyper]{\printfield{label}}}}% + {\printtext[cmshyper]{\printfield{label}}}% + \global\booltrue{cms:atcite}}% \newbibmacro*{cite:labelyear+extrayear}{% \ifboolexpr{ ( @@ -1217,7 +1402,8 @@ citation style] {\toggletrue{cms@switchdates}% \usebibmacro{cmsciteyear}}% {\usebibmacro{cmsciteyear}}}}% - {\usebibmacro{cmsciteyear}}}}% + {\usebibmacro{cmsciteyear}}}% + \global\boolfalse{cms:atcite}}% \newbibmacro*{cmsciteyear}{% \ifentrytype{patent}% Fix for double year w/cmsdate @@ -1228,7 +1414,13 @@ citation style] {\usebibmacro{cite:bothyear+oldstyle}}% {\iftoggle{cms@bothlabelold}% {\usebibmacro{cite:bothyear+oldstyle}}% - {\iftoggle{cms@fulldate}% + {\ifboolexpr{% + togl {cms@fulldate}% + and + not test {\iffieldequalstr{labeldatesource}{year}}% + and + not test {\iffieldequalstr{labeldatesource}{origyear}}% + }% {\printtext[cmsyearhyper]{% \csuse{print\strfield{labeldatesource}date}% \iffieldundef{\strfield{labeldatesource}hour}% @@ -1383,17 +1575,16 @@ citation style] {}% {\usebibmacro{postnote}} -\DeclareCiteCommand{\cmshypercite}% Intended for CustomC comments +\DeclareCiteCommand{\atcite} {\usebibmacro{cite:init}% - \togglefalse{blx@skipbib}% - \togglefalse{cms@authortitle}% \usebibmacro{prenote}} {\usebibmacro{citeindex}% + \toggletrue{cms@authortitle}% \usebibmacro{cite}} {}%\multicitedelim - {}%\usebibmacro{postnote} Stops double printing + {\usebibmacro{postnote}} -\DeclareCiteCommand{\atcite} +\DeclareCiteCommand{\atpcite}[\mkbibparens] {\usebibmacro{cite:init}% \usebibmacro{prenote}} {\usebibmacro{citeindex}% @@ -1402,14 +1593,77 @@ citation style] {}%\multicitedelim {\usebibmacro{postnote}} -\DeclareCiteCommand{\atpcite}[\mkbibparens] +\DeclareCiteCommand{\citeincite}[\cmswrap]% Used in fields of other entries {\usebibmacro{cite:init}% + \usebibmacro{backref+check}% + \togglefalse{blx@skipbib}% + \togglefalse{cms@authortitle}% + \togglefalse{cms@fulldate}% + \usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeincitef}[\cmswrapf]% + {\usebibmacro{cite:init}% + \usebibmacro{backref+check}% + \togglefalse{blx@skipbib}% + \togglefalse{cms@authortitle}% + \togglefalse{cms@fulldate}% + \usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\cmshypercite}[\cmswraphy]% For CustomC comments + {\usebibmacro{cite:init}% + \usebibmacro{backref+check}% + \togglefalse{blx@skipbib}% + \togglefalse{cms@authortitle}% + \togglefalse{cms@fulldate}% \usebibmacro{prenote}} {\usebibmacro{citeindex}% - \toggletrue{cms@authortitle}% \usebibmacro{cite}} {}%\multicitedelim - {\usebibmacro{postnote}} + {}%\usebibmacro{postnote} Stops double printing + +\DeclareCiteCommand{\fullciteincite}% For use in annotation fields + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{cite:driver}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:save}} + {\multicitedelim} + {} + +\def\cmswrap#1{% + \ifbool{cbx:parens}{\global\booltrue{cms:tcit}}{}% For \textcites + \blx@initunit#1% + \ifdef{\blx@thepostpunct}% + {\ifdefvoid{\abx@field@postpunct}% + {\blx@dopostpunct}{}}% + {}% + \global\let\abx@field@postpunct\@empty% + \ifbool{cms:tcit}{\global\booltrue{cbx:parens}\global\boolfalse{cms:tcit}}% + {}} + +\def\cmswrapf#1{% + \ifbool{cbx:parens}{\global\booltrue{cms:tcit}}{}% For \textcites + \blx@initunit#1\ifdef{\blx@thepostpunct}{\cms@cicpunct}{}% + \ifbool{cms:tcit}{\global\booltrue{cbx:parens}\global\boolfalse{cms:tcit}}% + {}} + +\def\cmswraphy#1{% + \ifbool{cbx:parens}{\global\booltrue{cms:tcit}}{}% For \textcites + #1% + \ifbool{cms:tcit}{\global\booltrue{cbx:parens}\global\boolfalse{cms:tcit}}% + {}} + +\def\cms@cicpunct{}% Only needed in US; redefine in lbx %%% Commands, macros and formats for the Legal entry types %%% @@ -1449,11 +1703,13 @@ citation style] \DeclareCiteCommand{\runcite}% 17th ed. {\usebibmacro{prenote}} {\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% \toggletrue{cms@running@text}% - \usebibmacro{cite}% + \usebibmacro{cite:full}% \togglefalse{cms@running@text}} {\multicitedelim} - {\usebibmacro{cite:postnote}} + {}%\usebibmacro{postnote} \newbibmacro*{cite:full}{% \iftoggle{cms@noneshort}% @@ -1588,6 +1844,14 @@ citation style] and not test {\iffieldint{volume}}% ) + or + ( + test {\iffieldundef{volume}}% Bug fix; correct? + and + test {\iffieldundef{series}}% + and + not test {\iffieldundef{titleaddon}}% + ) }% {\ifboolexpr{% test {\iffieldundef{entrysubtype}}% @@ -1962,6 +2226,10 @@ citation style] \DeclareFieldFormat[jurisdiction,legal,legislation]{shortjournal}{#1\isdot} +\DeclareFieldFormat{injournaltitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat{inshortjournal}{\mkbibemph{#1}\isdot} + \DeclareFieldFormat{jurisdictionser}{% \ifinteger{#1}% {\mkjuridordinal{#1}}% @@ -1989,6 +2257,8 @@ citation style] \DeclareFieldFormat{jourvol}{#1} +\DeclareFieldFormat{shortvol}{#1} + \DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{% \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}} @@ -1997,11 +2267,7 @@ citation style] {\bibsstring{part}~#1}% {#1\isdot}}% -\DeclareFieldFormat[legal,legislation]{chapter}{% - \ifthenelse{\iffieldequalstr{entrysubtype}{uk}\OR% - \iffieldequalstr{entrysubtype}{hansard}}% - {c\adddotspace #1}% - {\bibsstring{chapter}~#1}}% +\DeclareFieldFormat[legal,legislation]{chapter}{c\adddotspace #1}% \DeclareFieldFormat[music]{chapter}{\bibstring{track}~#1} @@ -2035,7 +2301,9 @@ citation style] \DeclareFieldAlias[dataset]{citetitle}[dataset]{title} -\DeclareFieldAlias[dataset]{lostitle}[dataset]{title} +\DeclareFieldFormat[dataset]{lostitle}{% + \addspace% Instead of in shorthand driver (2.1) + \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} %%% Textcite commands taken verbatim from authoryear-comp.cbx %%% @@ -2163,6 +2431,21 @@ citation style] \DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext]% {\footcitetext}{\setunit{\multicitedelim}} +\DeclareCitePunctuationPosition{\citeincitef}{d} + +\DeclareCitePunctuationPosition{\cmshypercite}{d} + +\DeclareCitePunctuationPosition{\citeincitefs}{d} + +\DeclareMultiCiteCommand{\citeincites}[\cmswrap]{\citeincite}% +{\setunit{\multicitedelim}}% + +\DeclareMultiCiteCommand{\citeincitefs}[\cmswrapf]{\citeincite}% +{\setunit{\multicitedelim}}% + +\DeclareMultiCiteCommand{\fullciteincites}{\fullciteincite}% +{\setunit{\multicitedelim}} + \DeclareCiteCommand{\bibxrefcite} {\usebibmacro{cite:init}% \usebibmacro{backref+check}}%\usebibmacro{clearalmostall}} (?) @@ -2188,13 +2471,7 @@ citation style] \DeclareCiteCommand{\origpublcite}% Similar to above, w/o title. {\usebibmacro{backref+check}% - \nopunct%\unspace% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\addspace}{\unspace}% + \nopunct%\unspace% Remove otherlang test for 3.16. \savebibmacro{cmsbibsortdate}% \renewbibmacro*{cmsbibsortdate}{}}% {\usedriver @@ -2259,27 +2536,27 @@ citation style] \DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot} \DeclareFieldFormat{postnote}{% Changed for page compression option - \ifboolexpr{% - togl {cms@comprange}% - and - test {\ifpages{#1}}% - }% - {\iffieldundef{pagination}% - {\mkcomprange{#1}}% - {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + \ifpages{#1}% xetex and luatex revealed a bug in original logic + {\iftoggle{cms@comprange}% + {{\iffieldundef{pagination}% + {\mkcomprange{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}}% + {{\iffieldundef{pagination}% + {\mknormrange{#1}}% + {\mknormrange[{\mkpageprefix[pagination]}]{#1}}}}}% {\iffieldundef{pagination}% {#1}% {\mkpageprefix[pagination]{#1}}}}% \DeclareFieldFormat[inreference]{postnote}{% - \ifboolexpr{% - togl {cms@comprange}% - and - test {\ifpages{#1}}% - }% - {\iffieldundef{pagination}% - {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% - {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + \ifpages{#1}% + {\iftoggle{cms@comprange}% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% + {\mknormrange[{\mkpageprefix[pagination]}]{#1}}}}% {\iffieldundef{pagination}% {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% {\mkpageprefix[pagination]{#1}}}}% @@ -2314,7 +2591,11 @@ citation style] \usebibmacro{list:andothers}} \DeclareFieldFormat[customc]{title}{% - \iffieldundef{nameaddon}% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@nona}% + }% {\mkbibemph{\bibstring{see}}% \addspace% #1}% @@ -2329,13 +2610,26 @@ citation style] \addspace\cmshypercite{\cms@aa}}% {\ifnameundef{author}% {#1}% - {\iffieldundef{nameaddon}% + {\ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@nona}% + }% {\mkbibemph{\bibstring{see}}% \addspace% #1}% {\printfield{nameaddon}\addspace #1}}}} -\DeclareFieldAlias[customc]{lostitle}[customc]{title} +\DeclareFieldFormat[customc]{lostitle}{% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@nona}% + }% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {\addspace #1}} \DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot} @@ -2346,7 +2640,10 @@ citation style] \DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} \DeclareFieldFormat{note}{% - \ifcapital{\MakeCapital{#1}}{#1}}% + \if@cms@capital{#1}{\MakeCapital{#1}}{#1}}% + +\DeclareFieldFormat{capital}{% + \ifcapital{\MakeCapital{#1}}{#1}} \DeclareFieldFormat [audio,manual,music,patent,report,suppbook,suppcollection,thesis,video] @@ -2459,14 +2756,34 @@ citation style] \DeclareFieldAlias{userd}{titleaddon}% 16th ed. -\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! +\DeclareFieldFormat{nameaddon}{% + \ifdefvoid{\cms@naformat}% + {\mkbibbrackets{#1\bibsentence}}% + {\printtext[\cms@naformat]{#1\isdot}}}% -\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{#1\bibsentence}% +\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{% + \ifdefvoid{\cms@naformat}% + {#1\ifboolexpr{%( + test {\IfEndWith{\thefield{nameaddon}}{)}}%[ + or + test {\IfEndWith{\thefield{nameaddon}}{]}}% + }% + {\bibsentence}{\isdot}}% + {\printtext[\cms@naformat]{#1\isdot}}} \DeclareFieldFormat[misc]{nameaddon}{% \iffieldundef{entrysubtype}% - {\mkbibbrackets{#1\bibsentence}}% - {#1\bibsentence}} + {\ifdefvoid{\cms@naformat}% + {\mkbibbrackets{#1\bibsentence}}% + {\printtext[\cms@naformat]{#1\isdot}}}% + {\ifdefvoid{\cms@naformat}% + {#1\ifboolexpr{%( + test {\IfEndWith{\thefield{nameaddon}}{)}}%[ + or + test {\IfEndWith{\thefield{nameaddon}}{]}}% + }% + {\bibsentence}{\isdot}}% + {\printtext[\cms@naformat]{#1\isdot}}}} \DeclareFieldFormat[customc]{nameaddon}{% For cross-refs \ifbibstring{#1}% @@ -2483,7 +2800,7 @@ citation style] \DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? \DeclareFieldFormat{titleaddon}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? + \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? \DeclareFieldAlias{booktitleaddon}{titleaddon} @@ -2515,12 +2832,35 @@ citation style] \DeclareFieldFormat{shortseries}{#1\isdot} \DeclareFieldFormat{addendum}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}} + +% There was unfortunate interaction between the case-changing code and +% cite commands when the latter were at the beginning of the +% field. This modified \ifcapital will be used in the fields in which +% the \citeincite(f|s) commands can appear. + +\newrobustcmd*{\if@cms@capital}[1]{% + \noexpandarg + \StrChar{#1}{1}[\cms@char]% + \ifboolexpr{% + test {\ifcapital}% + and + not test {\ifdefstring{\cms@char}{\citeincite}}% + and + not test {\ifdefstring{\cms@char}{\citeincites}}% + and + not test {\ifdefstring{\cms@char}{\citeincitef}}% + and + not test {\ifdefstring{\cms@char}{\citeincitefs}}% + }% + {\@firstoftwo}% + {\@secondoftwo}% +} -% This works better here than in the entrytail macro -- userf use is -% no longer a problem, though the page breaking still isn't ideal. +% For annotation fixes move all code for separators to the entrytail +% macro, below. -\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1} +\DeclareFieldFormat{annotation}{#1}% \DeclareFieldFormat{part}{% \ifnumerals{#1}% @@ -2544,12 +2884,20 @@ citation style] and not togl {cms@linkit}% }% - {#1}% + {\iftoggle{cms@shortrelated}% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {#1}}% {\bibhyperref{#1}}}% \DeclareFieldFormat{cmsyearhyper}{% Only link when in ref list \iftoggle{blx@skipbib} - {#1}% + {\iftoggle{cms@shortrelated}% + {\ifentryinbib{\strfield{clonesourcekey}}% + {\bibhyperref[\strfield{clonesourcekey}]{#1}}% + {#1}}% + {#1}}% {\bibhyperref{#1}}}% %%%% Related field formats from biblatex.def %%%% @@ -2582,7 +2930,7 @@ citation style] {\ifcapital% {\MakeCapital{#1}}% {#1}}% - \addspace}% + }%\addspace %%%% Commands, for users and internal %%%% @@ -2690,6 +3038,8 @@ citation style] test {\ifdefstring\blx@languagename{brazilian}}% or test {\ifdefstring\blx@languagename{brazil}}% + or + test {\ifdefstring\blx@languagename{romanian}}% }% {\ifboolexpr{% test {\iffieldundef{#1dateunspecified}}% @@ -2817,6 +3167,8 @@ citation style] {\addcomma\addspace}% {\addcomma\addspace\bibstring{and}\addspace}}} +\newcommand*{\journalpagespunct}{\addcolon\space}% Make it configurable + \renewcommand*{\postnotedelim}{% Cf. N&B style \ifboolexpr{% test {\ifciteibid}% @@ -2834,30 +3186,49 @@ citation style] {\togglefalse{cms@inlineibid}% \iffieldundef{prenote}% Bug fix {}% - {\cms@testspace}}% + {\setunit{\cms@testspace}}}% {\iffieldequalstr{entrysubtype}{classical}% For Notes+Bib, too? {\DeclareNumChars*{abcdeABCDE:}% \iffieldpages{postnote}% - {\cms@testspace}% - {\addcomma\addspace}}% - {\addcomma\addspace}\DeclareNumChars{.}}}} + {\setunit{\cms@testspace}}% + {\newcunit}}% + {\newcunit}\DeclareNumChars{.}}}} \newcommand*{\postnotewrapper}{% - \iftoggle{cms@modpostnote}% + \iftoggle{cms@modpostnote}% Multiple bugs in v 2.0. {\ifboolexpr{% test {\iffieldstart{postnote}{,}}% or test {\iffieldstart{postnote}{\bibrangessep}}% }% - {\addcomma}% w/ or w/o \addspace? - {\ifboolexpr{% - test {\iffieldstart{postnote}{;}}% - or - test {\iffieldstart{postnote}{:}}% - or - test {\iffieldstart{postnote}{.}}% - }% - {}{\postnotedelim}}}% + {\togglefalse{blx@unit}% + \expandarg + \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% + \iffieldstart{postnote}{\ }% + {\setunit{\addcomma}}% + {\newcunit}}% + {\iffieldstart{postnote}{;}% + {\togglefalse{blx@unit}% + \expandarg + \StrGobbleLeft{\abx@field@postnote}{1}[\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}}% \newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from @@ -2949,17 +3320,40 @@ citation style] %%%% Formatting macros, called both by cbx and bbx %%%% \newbibmacro*{finentry}{%{\finentry} To make annotated bibliography - \ifbibliography + \ifboolexpr{% + togl {cms@annotation}% + or + togl {cms@cbxannote}% + }% {\usebibmacro{entrytail}}% {}% \finentry} \newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography - \newunit\newblock - \iftoggle{cms@annotation}% - {\usebibmacro{annotation}% - \newunit\newblock}% - {}}% + \ifbibliography% + {\iftoggle{cms@annotation}% + {\togglefalse{blx@unit}% + \togglefalse{blx@keepunit}% + \setunit{\bibannotesep}% + \usebibmacro{annotation}% + \newunit\newblock}% + {\newunit}}% + {\iftoggle{cms@cbxannote}% + {\togglefalse{blx@unit}% + \togglefalse{blx@keepunit}% + \setunit{\citeannotesep}% + \usebibmacro{annotation}% + \newunit\newblock}% + {\newunit}}}% + +% From biblatex.def; biblatex 3.15 toggled blx@bibliography off here, +% but we still need to be able to test it in Chicago, at least with +% the current code, so redefine the macro. + +\renewbibmacro*{annotation}{% + \iffieldundef{annotation}% + {\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}}% + {\printfield{annotation}}} \newbibmacro*{author+holder}{% \ifnameundef{author}% @@ -2978,7 +3372,7 @@ citation style] {\bibstring{by}\addspace% \printnames[byauthor]{author}}} -\newbibmacro*{byauthorpunct}{% +\newbibmacro*{byauthorpunct}{% Obsolete? \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}% {\addperiod\addspace}% {\newcunit}} @@ -3091,7 +3485,7 @@ citation style] togl {cms@namedash}% }% {\printtext{\bibnamedash}}% - {\usebibmacro{journal+sub}% + {\usebibmacro{journal+sub}{}% \setunit*{\addspace}% \printlist[periodplace]{location}% \savefield{journaltitle}{\bbx@lasthash}}}% @@ -3163,14 +3557,14 @@ citation style] {\bibstring{by#2}}% {\ifbibxstring{by\thefield{#1type}}% {\bibstring{by\thefield{#1type}}}% - {\printtext[note]{\thefield{#1type}}}}}% + {\printtext[capital]{\thefield{#1type}}}}}% \newbibmacro*{cbytypestrg}[2]{% \iffieldundef{#1type}% {\bibstring{cby#2}}% {\ifbibxstring{cby\thefield{#1type}}% {\bibstring{cby\thefield{#1type}}}% - {\printtext[note]{\thefield{#1type}}}}}% + {\printtext[capital]{\thefield{#1type}}}}}% \newbibmacro*{cbyeditor}{% \ifnameundef{editor}% @@ -3396,7 +3790,11 @@ citation style] {\printfield{chapter}\clearfield{chapter}% \iffieldundef{booktitle}% {}% - {\addspace\bibstring{of}\setunit{\addspace}}}}% + {\iftoggle{cms@origpublished}% + {\DeclareFieldAlias{booktitle}{title:hook}}% + {\DeclareFieldAlias{booktitle}{title:hook:alt}}% + \addspace\bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}}}}% \newbibmacro*{chap+as+track}{% \iffieldundef{chapter}% @@ -3410,7 +3808,7 @@ citation style] {\printfield{chapter}\clearfield{chapter}% \iffieldundef{booktitle}% {}% - {\addspace\bibstring{on}\setunit{\addspace}}}}% + {\addspace\bibstring[\cms@ofwrap]{on}\setunit{\addspace}}}}% \newbibmacro*{music+origdate}{% \iffieldequalstr{pubstate}{reprint}% 17th ed. @@ -3630,7 +4028,7 @@ citation style] {\printdate}% {\printorigdate}}}% -\newbibmacro*{journal+sub}{% +\newbibmacro*{journal+sub}[1]{% \iffieldundef{journaltitle}% {}% {\ifboolexpr{% @@ -3648,9 +4046,9 @@ citation style] togl {cms@bibjtabb}% )) }% - {\clearlist{location}\printtext[shortjournal]{% + {\clearlist{location}\printtext[#1shortjournal]{% \printfield[jtsnoformat]{shortjournal}}}% - {\printtext[journaltitle]{% + {\printtext[#1journaltitle]{% \printfield[jtnoformat]{journaltitle}% \setunit{\subtitlepunct}% \printfield[sjtnoformat]{journalsubtitle}}}}}% @@ -3699,7 +4097,7 @@ citation style] \usebibmacro{cmsyear}}} \newbibmacro*{mag+date+issue}{% - \usebibmacro{journal+sub}% + \usebibmacro{journal+sub}{in}% \setunit*{\addspace}% \printlist[periodplace]{location}% \newunit\newblock @@ -3792,8 +4190,8 @@ citation style] \renewbibmacro*{postnote}{% \iffieldundef{postnote}% {}% - {\setunit{\postnotewrapper}%delim}% - \printfield{postnote}}} + {\postnotewrapper%\setunit{\postnotewrapper} + \printfield{postnote}}} \newbibmacro*{part+editor+translator}{% \ifnameundef{namea}% @@ -3884,7 +4282,7 @@ citation style] {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% {\bibstring{\thefield{editortype}s}}% {\bibstring{\thefield{editortype}}}}% - {\printtext[note]{\thefield{editortype}}}}% + {\printtext[capital]{\thefield{editortype}}}}% \clearname{editor}} \newbibmacro*{parteditstrg}{% @@ -3919,7 +4317,7 @@ citation style] {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% {\bibstring{\thefield{nameatype}s}}% {\bibstring{\thefield{nameatype}}}}% - {\printtext[note]{\thefield{nameatype}}}}% + {\printtext[capital]{\thefield{nameatype}}}}% \clearname{namea}} \newbibmacro*{clearpublin}{% @@ -3944,7 +4342,7 @@ citation style] \clearfield{titleaddon}% \clearfield{usere}% \clearlist{language}% - \ifentrytype{music}% + \ifthenelse{\ifentrytype{music}\OR\ifentrytype{audio}}% {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}% \clearfield{eventmonth}}% {}}% @@ -3953,7 +4351,12 @@ citation style] {\clearfield{year}\clearfield{month}\clearfield{season}}% {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}% \clearfield{origlocation}}% - {}% + {\ifthenelse{\ifentrytype{article}\OR\ifentrytype{periodical}\OR% + \ifentrytype{review}\OR\ifentrytype{suppperiodical}}% + {\iffieldundef{issuetitle}% For reprintfrom (?) + {\clearname{editor}\clearfield{note}\renewbibmacro*{bibreprint}{}}% + {}}% + {}}% \clearfield{reprinttitle}% } @@ -3980,7 +4383,7 @@ citation style] test {\iflistundef{publisher}}% }% {}% - {\setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}% + {\setunit{\addspace\bibstring[\mkrelatedstringtext]{bypublisher}\space}% \printlist{publisher}% \setunit{\addcomma\space}% \iflistsequal{location}{savedlocation}% @@ -3992,13 +4395,13 @@ citation style] \usebibmacro{at+every+item}% \renewbibmacro*{name:hook}[1]{% \ifnumequal{\value{listcount}}{1}% - {\begingroup - \mkrelatedstring% - \lbx@initnamehook{#1}% - \endgroup}% - {}}% + {\begingroup + \mkrelatedstringtext{% + \lbx@initnamehook{##1}}% + \endgroup}% + {}}% \printnames[bytranslator]{translator}% - \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}% + \setunit*{\addspace\bibstring[\mkrelatedstringtext]{astitle}\space}% \clearname{translator}% \usebibmacro{cite:origfull}}}% @@ -4070,21 +4473,27 @@ citation style] \newbibmacro*{related:commenton}[1]{% 17th ed. \togglefalse{cms@fulldate}% Let cloned entry set it + \togglefalse{cms@authortitle}% Ditto + \toggletrue{cms@shortrelated}% This allows us to provide a hyperlink \entrydata*{#1}{% - \cmshypercite{\strfield{clonesourcekey}}}} + \ifnumequal{\value{bbx:relatedcount}}{1}% + {\global\boolfalse{cms:atcite}\usebibmacro{cite:reinit}}{}% + \usebibmacro{cite}}} -\providetoggle{cms@otherlang} +\newbibmacro*{related:short}[1]{% For cross-refs in ref list + \togglefalse{cms@fulldate}% Let cloned entry set it + \togglefalse{cms@authortitle}% Ditto + \toggletrue{cms@shortrelated}% This allows us to provide a hyperlink + \entrydata*{#1}{% + \nocite{\thefield{clonesourcekey}}% Ensure it appears in ref list + \ifnumequal{\value{bbx:relatedcount}}{1}% + {\global\boolfalse{cms:atcite}\usebibmacro{cite:reinit}}{}% + \usebibmacro{cite}}} -\apptocmd\blx@opt@autolang@other% -{\toggletrue{cms@otherlang}}% -{\blx@info@noline{Patching 'autolang=other' option}}% -{\PackageWarningNoLine{biblatex-chicago}% - {Upgrading biblatex to >v2.7a recommended,\MessageBreak - especially if you are using the "related"\MessageBreak - functionality}} +\providetoggle{cms@reprintmt}% \newbibmacro*{cite:origfull}{% - \printtext[cmshypertarget]{% + \printtext[cmshypertarget]{% Field format is spurious \usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \clearname{author}\clearfield{userf}\clearfield{shorthand}% @@ -4093,7 +4502,7 @@ citation style] {\thefield{entrytype}}}} \newbibmacro*{cite:origpubl}{% - \printtext[cmshypertarget]{% + \printtext[cmshypertarget]{% Field format is spurious \usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \usebibmacro{clearpublin}\clearfield{shorthand}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common16.cbx index 808388e32cf..6828c660582 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-dates-common16.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-dates-common16.cbx}[2021/03/27 v 3.16 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -1242,6 +1242,8 @@ citation style] {}% {\usebibmacro{postnote}} +\def\cms@cicpunct{}% + %%% Commands, macros and formats for the Legal entry types %%% \DeclareCiteCommand{\footfullcite}[\mkbibfootnote] @@ -1965,12 +1967,6 @@ citation style] \DeclareCiteCommand{\origpublcite}% Similar to above, w/o title. {\usebibmacro{backref+check}% \nopunct%\unspace% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\addspace}{\unspace}% \savebibmacro{cmsbibsortdate}% \renewbibmacro*{cmsbibsortdate}{}}% {\usedriver @@ -2304,7 +2300,7 @@ citation style] {\ifcapital% {\MakeCapital{#1}}% {#1}}% - \addspace}% + }%\addspace %%%% Commands, for users and internal %%%% @@ -3602,7 +3598,7 @@ citation style] test {\iflistundef{publisher}}% }% {}% - {\setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}% + {\setunit{\addspace\bibstring[\mkrelatedstringtext]{bypublisher}\space}% \printlist{publisher}% \setunit{\addcomma\space}% \iflistsequal{location}{savedlocation}% @@ -3614,13 +3610,13 @@ citation style] \usebibmacro{at+every+item}% \renewbibmacro*{name:hook}[1]{% \ifnumequal{\value{listcount}}{1}% - {\begingroup - \mkrelatedstring% - \lbx@initnamehook{#1}% - \endgroup}% - {}}% + {\begingroup + \mkrelatedstringtext{% + \lbx@initnamehook{##1}}% + \endgroup}% + {}}% \printnames[bytranslator]{translator}% - \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}% + \setunit*{\addspace\bibstring[\mkrelatedstringtext]{astitle}\space}% \clearname{translator}% \usebibmacro{cite:origfull}}}% @@ -3690,15 +3686,15 @@ citation style] \newcunit}% \usebibmacro{date}}}% -\providetoggle{cms@otherlang} +% \providetoggle{cms@otherlang} -\apptocmd\blx@opt@autolang@other% -{\toggletrue{cms@otherlang}}% -{\blx@info@noline{Patching 'autolang=other' option}}% -{\PackageWarningNoLine{biblatex-chicago}% - {Upgrading biblatex to >v2.7a recommended,\MessageBreak - especially if you are using the "related"\MessageBreak - functionality}} +% \apptocmd\blx@opt@autolang@other% +% {\toggletrue{cms@otherlang}}% +% {\blx@info@noline{Patching 'autolang=other' option}}% +% {\PackageWarningNoLine{biblatex-chicago}% +% {Upgrading biblatex to >v2.7a recommended,\MessageBreak +% especially if you are using the "related"\MessageBreak +% functionality}} \newbibmacro*{cite:origfull}{% \printtext[cmshypertarget]{% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx index e14d9114aaf..a0a9780e25d 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex bibliography style] +\ProvidesFile{chicago-notes.bbx}[2021/03/27 v 3.16 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -20,6 +20,7 @@ {\mkbibemph{\textbf{#1}}\isdot}}% \newlength{\lositemsep} +\newbibmacro*{begentry}{} \defbibenvironment{bibliography}% New for 0.9a {\list @@ -252,12 +253,6 @@ \InitializeBibliographyStyle{% \let\bbx@lasthash\undefined} -%%%% Bibliography-specific bibstrings %%%% -% \NewBibliographyString{note,preface,subsection,subsections,selfpublished,% -% commenton,printed,track,choreographer,choreographers,cbychoreographer,% -% bychoreographer}% -%% Now below %% - %%%% Author, Editor, Translator, and Compiler Macros %%%% \renewbibmacro*{name:last-first}[4]{% @@ -388,23 +383,30 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}}%\addperiod\addspace {\printtext{\bibnamedash}% \ifentrytype{customc}% {\newunit}% - {\setunit{\addspace}}\printfield{nameaddon}}}% + {\setunit{\nameaddonpunct}}\printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{author}\bibrightbracket% + {\bibopenbracket\printnames{author}% + \ifentrytype{customc}% + {\bibclosebracket% + \usebibmacro{print+nameaddon}}% + {\usebibmacro{print+nameaddon}% + \bibclosebracket}% \savefield{fullhash}{\bbx@lasthash}}% {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + {\bibopenbracket\printnames{author}\addquestion% + \ifentrytype{customc}% + {\bibclosebracket% + \usebibmacro{print+nameaddon}}% + {\usebibmacro{print+nameaddon}% + \bibclosebracket}% \savefield{fullhash}{\bbx@lasthash}}% {\printnames{author}% - \ifentrytype{customc}% - {\ifbibliography{\newunit}{\newcunit}}% - {\setunit{\addspace}}% - \printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{moreauthor}{% @@ -417,18 +419,20 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}}%\addperiod\addspace - {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% + \printfield{nameaddon}}}% {\iffieldequalstr{authortype}{anon}% - {\bibleftbracket\printnames{author}\bibrightbracket% + {\bibopenbracket\printnames{author}% + \usebibmacro{print+nameaddon}\bibclosebracket% \savefield{fullhash}{\bbx@lasthash}}% {\iffieldequalstr{authortype}{anon?}% - {\bibleftbracket\printnames{author}\addquestion\bibrightbracket% + {\bibopenbracket\printnames{author}\addquestion% + \usebibmacro{print+nameaddon}\bibclosebracket% \savefield{fullhash}{\bbx@lasthash}}% {\printnames{author}% - \setunit{\addspace}% - \printfield{nameaddon}% + \usebibmacro{print+nameaddon}% \savefield{fullhash}{\bbx@lasthash}}}}}} \newbibmacro*{pickeditor}{% @@ -446,13 +450,12 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\editordelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\editordelim}}% {\printnames{editor}% - \setunit{\addspace}% - \printfield{nameaddon}\editordelim% + \usebibmacro{print+nameaddon}\editordelim% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{editstrg}}} @@ -469,13 +472,12 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\editordelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\editordelim}}% {\printnames{editor}% - \setunit{\addspace}% - \printfield{nameaddon}\editordelim% + \usebibmacro{print+nameaddon}\editordelim% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{editstrg}}}% {\ifboolexpr{% @@ -485,13 +487,12 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\nameadelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\nameadelim}}% {\printnames[sortname]{namea}% - \setunit{\addspace}% - \printfield{nameaddon}\nameadelim% + \usebibmacro{print+nameaddon}\nameadelim% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}}}% @@ -505,13 +506,12 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\nameadelim}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\nameadelim}}% {\printnames[sortname]{namea}% - \setunit{\addspace}% - \printfield{nameaddon}\nameadelim% + \usebibmacro{print+nameaddon}\nameadelim% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parteditstrg}}} @@ -530,13 +530,12 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\newcunit}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\newcunit}}% {\printnames[sortname]{translator}% - \setunit{\addspace}% - \printfield{nameaddon}\newcunit% + \usebibmacro{print+nameaddon}\newcunit% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{transstrg}}} @@ -550,13 +549,12 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\newcunit}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\newcunit}}% {\printnames[sortname]{nameb}% - \setunit{\addspace}% - \printfield{nameaddon}\newcunit% + \usebibmacro{print+nameaddon}\newcunit% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{parttransstrg}}} @@ -570,16 +568,74 @@ and togl {cms@namedash}% }% - {\iffieldundef{nameaddon}% + {\if@cms@nonameaddon% {\printtext{\bibnamedash}\newcunit}% - {\printtext{\bibnamedash}\setunit{\addspace}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% \printfield{nameaddon}\newcunit}}% {\printnames[sortname]{namec}% - \setunit{\addspace}% - \printfield{nameaddon}\newcunit% + \usebibmacro{print+nameaddon}\newcunit% \savefield{fullhash}{\bbx@lasthash}}% \usebibmacro{compilestrg}}} +\newbibmacro*{print+nameaddon}{% + \ifbibliography% + {\ifboolexpr{% + togl {cms@bibnona}% + or + test {\iffieldundef{nameaddon}}% + }% + {}% + {\ifboolexpr{% + test {\iffieldequals{fullhash}{\bbx@lasthash}}% + and + test {\iffieldequals{nameaddon}{\cms@lastna}}% + and + togl {cms@subseqnona}% + }% + {}% + {\ifentrytype{customc}{\newunit}{\setunit{\nameaddonpunct}}% + \printfield{nameaddon}% + \savefield{nameaddon}{\cms@lastna}}}}% + {\ifboolexpr{% + togl {cms@citenona}% + or + test {\iffieldundef{nameaddon}}% + }% + {\let\cms@lastna\undefined}% + {\ifboolexpr{% + test {\iffieldequals{nameaddon}{\cms@lastna}}% + and + test {\cms@ifciteidem}% + and + togl {cms@subseqnona}% + }% + {}% + {\ifentrytype{customc}{\newcunit}{\setunit{\nameaddonpunct}}% + \printfield{nameaddon}% + \savefield{nameaddon}{\cms@lastna}}}}} + +\def\if@cms@nonameaddon{% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@bibnona}% + or + ( + test {\iffieldequals{nameaddon}{\cms@lastna}}% + and + togl {cms@subseqnona}% + ) + }% + {\@firstoftwo}% + {\@secondoftwo}}% + +\def\cms@ifciteidem{% + \ifbool{citetracker}% + {\iftoggle{blx@footnote}% + {\iffieldequals{fullhash}\blx@lasthash@foot}% + {\iffieldequals{fullhash}\blx@lasthash@text}}% + {\@secondoftwo}} + \renewcommand*{\revsdnamedelim}{\addcomma} \DeclareNameAlias{author}{sortname}% Needed in 0.9 @@ -601,7 +657,7 @@ {\printlist{organization}\newcunit}% {}}}% {\ifthenelse{\ifentrytype{customc}\OR\ifentrytype{dataset}}% - {\usebibmacro{justauthor}\setunit{\addspace}}% + {\usebibmacro{justauthor}}% Moved \addspace to field format (2.1) {\usebibmacro{author/editor}\newunit}}% \ifboolexpr{% test {\ifentrytype{video}}% @@ -795,6 +851,46 @@ final] \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] } + \map[overwrite]{ + \step[fieldsource=titleaddon, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=titleaddon, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=annotation, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=annotation, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=annote, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=annote, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=addendum, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=addendum, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } + \map[overwrite]{ + \step[fieldsource=note, + match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ + replace=\regexp{\\citeincitef$1$2\}}] + \step[fieldsource=note, + match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ + replace=\regexp{\\citeincitefs$1$6\}}] + } \map[overwrite, foreach=related]{ \pertype{mvbook} \pertype{mvcollection} @@ -876,6 +972,7 @@ \DeclareBibliographyDriver{article}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{mag+news+author}% \newunit\newblock \usebibmacro{mag+news+title}% @@ -920,12 +1017,13 @@ \usebibmacro{originally+published+as}% \usebibmacro{finentry}} {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{mag+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% - \setunit*{\addperiod\addspace}\newblock% 16th ed. + \setunit*{\newunitpunct}\newblock% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% @@ -965,6 +1063,7 @@ \DeclareBibliographyDriver{artwork}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -1013,6 +1112,7 @@ \DeclareBibliographyDriver{audio}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -1028,7 +1128,7 @@ \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}% \iffieldundef{booktitle}% - {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\newunitpunct}}% Fix customc? {\setunit{\addcomma\addspace}}% \iffieldundef{edition}% {}% @@ -1051,11 +1151,11 @@ \printfield{part}% \setunit{\addspace} \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[noformat]{maintitle}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[noformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}} \newcunit\newblock @@ -1093,6 +1193,7 @@ \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{related:mtpunct}% \usebibmacro{italtitle+stitle}% @@ -1179,7 +1280,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -1201,7 +1302,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -1220,6 +1321,7 @@ \DeclareBibliographyDriver{bookinbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -1235,7 +1337,7 @@ \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% + \setunit*{\newunitpunct}% \ifboolexpr{% not togl {cms@related}% or @@ -1306,7 +1408,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -1328,7 +1430,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -1366,7 +1468,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\csuse{cms@shortmtkey}}% \usebibmacro{xrefpostnote}% @@ -1377,6 +1479,7 @@ \DeclareBibliographyDriver{booklet}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -1409,6 +1512,7 @@ \DeclareBibliographyDriver{collection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{related:mtpunct}% \usebibmacro{italtitle+stitle}% @@ -1480,7 +1584,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -1502,7 +1606,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -1521,8 +1625,13 @@ \DeclareBibliographyDriver{customc}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{justauthor}% - \iffieldundef{nameaddon}% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@bibnona}% + }% {\newunit}% {\setunit{\addspace}}% \usebibmacro{italtitle+stitle}% @@ -1530,6 +1639,7 @@ \DeclareBibliographyDriver{dataset}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \setunit{\addspace}\newblock% \printtext[parens]{% @@ -1601,6 +1711,7 @@ \DeclareBibliographyDriver{image}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -1653,14 +1764,15 @@ \DeclareBibliographyDriver{inbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}\newblock%\bibsentence \usebibmacro{language+transtitle}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% \ifboolexpr{% not togl {cms@related}% @@ -1683,7 +1795,7 @@ or togl {cms@bibcrossref}% }% - {\setunit{\addperiod\addspace}% + {\setunit{\newunitpunct}% \usebibmacro{chapincoll}% \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit @@ -1731,7 +1843,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\thefield{xref}}% @@ -1786,7 +1898,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\csuse{cms@shortmtkey}}% @@ -1798,6 +1910,7 @@ \DeclareBibliographyDriver{incollection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{title+stitle}% @@ -1876,7 +1989,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\thefield{xref}}% @@ -1899,7 +2012,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\thefield{crossref}}% @@ -1931,7 +2044,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\csuse{cms@shortmtkey}}% @@ -1943,14 +2056,15 @@ \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{title+stitle}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% \ifboolexpr{% not togl {cms@related}% @@ -1973,7 +2087,7 @@ or togl {cms@bibcrossref}% }% - {\setunit{\addperiod\addspace}% + {\setunit{\newunitpunct}% \usebibmacro{chapincoll}% \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit\newblock @@ -1984,6 +2098,14 @@ \usebibmacro{ser+num}% \newunit\newblock \printfield{note}% + \setunit*{\addcomma\addspace}% + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \newunit\newblock \usebibmacro{org+publ+loc+year}% \newunit\newblock @@ -2014,7 +2136,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\thefield{xref}}% @@ -2037,7 +2159,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\thefield{crossref}}% @@ -2069,7 +2191,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\csuse{cms@shortmtkey}}% @@ -2081,6 +2203,7 @@ \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iftoggle{cms@mtvolpunct}{\newcunit}{}% \usebibmacro{italtitle+stitle}% \usebibmacro{related:mtpunct}%\newunit\newblock @@ -2091,7 +2214,7 @@ {}% \usebibmacro{related:mtpunct}%\newunit\newblock \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% need asterisk? + \setunit*{\newunitpunct}% need asterisk? \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit \iffieldundef{edition}% @@ -2153,6 +2276,7 @@ \DeclareBibliographyDriver{letter}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \printtext[title]{% @@ -2165,7 +2289,7 @@ \usebibmacro{language+transtitle}% \newunit\newblock%\bibsentence \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% + \setunit*{\newunitpunct}% \ifboolexpr{% not togl {cms@related}% or @@ -2287,7 +2411,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \usebibmacro{chapincoll}% \bibxrefcite{\csuse{cms@shortmtkey}}% @@ -2299,6 +2423,7 @@ \DeclareBibliographyDriver{manual}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{bibauthor+org}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -2339,6 +2464,7 @@ \DeclareBibliographyDriver{misc}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \iffieldundef{entrysubtype}% @@ -2398,6 +2524,7 @@ \DeclareBibliographyDriver{music}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -2441,11 +2568,11 @@ \printfield{part}% \setunit{\addspace} \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[noformat]{maintitle}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[noformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}} \newcunit\newblock @@ -2497,6 +2624,7 @@ \DeclareBibliographyDriver{mvbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{related:mtpunct}%\newunit\newpunct% \usebibmacro{italtitle+stitle}% @@ -2580,7 +2708,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -2602,7 +2730,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -2628,6 +2756,7 @@ \DeclareBibliographyDriver{mvcollection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{related:mtpunct}%\newunit\newblock \usebibmacro{italtitle+stitle}% @@ -2705,7 +2834,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -2727,7 +2856,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -2753,6 +2882,7 @@ \DeclareBibliographyDriver{mvproceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{related:mtpunct}%\newunit\newblock% \usebibmacro{italtitle+stitle}% @@ -2794,6 +2924,14 @@ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}% \newunit\newblock \printfield{note}% + \setunit*{\addcomma\addspace}% + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \newunit\newblock \usebibmacro{org+publ+loc+year}% \newunit\newblock @@ -2824,7 +2962,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -2846,7 +2984,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -2872,6 +3010,7 @@ \DeclareBibliographyDriver{mvreference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{italtitle+stitle}% \newunit\newblock \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}% @@ -2942,6 +3081,7 @@ \DeclareBibliographyDriver{online}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \IfBeginWith{\thefield{title}}{CCCCCC}% @@ -3013,6 +3153,7 @@ \DeclareBibliographyDriver{patent}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author+holder}% + holder? \newunit\newblock \iffieldundef{title}% @@ -3025,9 +3166,9 @@ \printfield{titleaddon}}% \setunit{\addspace}\newblock% \usebibmacro{language+transtitle}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \printfield{note}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \printfield{type}% \setunit{\addspace}% \printfield{number}% @@ -3068,6 +3209,7 @@ \DeclareBibliographyDriver{performance}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{italtitle+stitle}% @@ -3115,6 +3257,7 @@ \DeclareBibliographyDriver{periodical}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \newunit\newblock \usebibmacro{issuetitle}% @@ -3141,13 +3284,14 @@ \newunit\newblock \usebibmacro{originally+published+as}% \usebibmacro{finentry}} - {\usebibmacro{bibindex}% +{\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \newunit\newblock \usebibmacro{issuetitle}% \setunit{\addspace}% \usebibmacro{language+transtitle}% - \setunit*{\addperiod\addspace}\newblock% 16th ed. + \setunit*{\newunitpunct}\newblock% 16th ed. \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -3180,6 +3324,7 @@ \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{related:mtpunct}% \usebibmacro{italtitle+stitle}% @@ -3207,6 +3352,14 @@ \usebibmacro{ser+num}% \newunit\newblock \printfield{note}% + \setunit*{\addcomma\addspace}% + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \newunit\newblock \usebibmacro{org+publ+loc+year}% \newunit\newblock @@ -3237,7 +3390,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{xref}}% \usebibmacro{xrefpostnote}% @@ -3259,7 +3412,7 @@ test {\ifpunctmark{*}}% }% {\setunit{\addspace\bibsentence}}% - {\setunit{\addperiod\addspace}}% + {\setunit{\newunitpunct}}% \usebibmacro{xrefprenote}% Volume fix \bookbibxrefcite{\thefield{crossref}}% \usebibmacro{xrefpostnote}% @@ -3278,6 +3431,7 @@ \DeclareBibliographyDriver{reference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iftoggle{cms@mtvolpunct}{\newcunit}{}% \usebibmacro{italtitle+stitle}% \usebibmacro{related:mtpunct}%\newunit\newblock @@ -3288,7 +3442,7 @@ {}% \usebibmacro{related:mtpunct}% \usebibmacro{part+editor+translator}% - \setunit*{\addperiod\addspace}% need asterisk? + \setunit*{\newunitpunct}% need asterisk? \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}% \newcunit \iffieldundef{edition}% @@ -3335,6 +3489,7 @@ \DeclareBibliographyDriver{report}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \iffieldequalstr{entrysubtype}{unpublished}% @@ -3379,6 +3534,7 @@ \DeclareBibliographyDriver{review}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{mag+news+author}}% {\usebibmacro{author/editor}}% @@ -3468,6 +3624,7 @@ \DeclareBibliographyDriver{standard}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \ifnameundef{author}% {\iflistundef{organization}% {}% @@ -3478,8 +3635,12 @@ and togl {cms@namedash}% }% - {\printtext{\bibnamedash}}% + {\if@cms@nonameaddon% + {\printtext{\bibnamedash}}% + {\printtext{\bibnamedash}\setunit{\nameaddonpunct}% + \printfield{nameaddon}}}% {\printlist{organization}% + \usebibmacro{print+nameaddon}% \savelist{organization}{\bbx@lasthash}}}}% {\usebibmacro{justauthor}}% \newunit\newblock @@ -3547,6 +3708,7 @@ \DeclareBibliographyDriver{suppbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author}% \newunit\newblock \usebibmacro{inforaft}% @@ -3611,6 +3773,7 @@ \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{title+stitle}% @@ -3618,9 +3781,9 @@ \usebibmacro{language+transtitle}% \newunit% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \printfield{note}% - \setunit{\addperiod\addspace}\newblock% + \setunit{\newunitpunct}\newblock% \usebibmacro{type+inst+year}% \newunit\newblock \printfield{addendum}% @@ -3643,6 +3806,7 @@ \DeclareBibliographyDriver{unpublished}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \newunit\newblock \usebibmacro{title+stitle}% @@ -3650,7 +3814,7 @@ \usebibmacro{language+transtitle}% \newunit%usebibmacro{byauthorpunct}% Why does this work? No idea. \usebibmacro{byauthor}% Same in thesis type, as well. 16th ed. - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{byeditor+others}% \newunit\newblock% \printfield{howpublished}% @@ -3689,6 +3853,7 @@ \DeclareBibliographyDriver{video}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \ifboolexpr{% test {\iffieldequalstr{entrysubtype}{tvepisode}}% and @@ -3710,9 +3875,9 @@ \usebibmacro{title+stitle}% \setunit{\addspace}\newblock%\bibsentence \usebibmacro{language+transtitle}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}}% {\usebibmacro{author/editor}% \newunit\newblock @@ -3726,15 +3891,15 @@ \printfield{titleaddon}%\usebibmacro{title+stitle}% \setunit{\addspace}\newblock%\bibsentence \usebibmacro{language+transtitle}% - \setunit{\addperiod\addspace}% 16th ed. + \setunit{\newunitpunct}% 16th ed. \usebibmacro{byauthor}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{part+editor+translator}% - \setunit{\addperiod\addspace}% + \setunit{\newunitpunct}% \usebibmacro{chapinscore}% \usebibmacro{btitle+bstitle}}% \iffieldundef{booktitle}% - {\setunit{\addperiod\addspace}}% Fix customc? + {\setunit{\newunitpunct}}% Fix customc? {\setunit{\addcomma\addspace}}% \iffieldundef{edition}% {}% @@ -3757,11 +3922,11 @@ \printfield{part}% \setunit{\addspace} \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[noformat]{maintitle}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[noformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}% \newcunit\newblock @@ -3827,7 +3992,7 @@ {\iffieldundef{doi}% {}% {\printfield{doi}% - \setunit*{\addperiod\addspace}\newblock% + \setunit*{\newunitpunct}\newblock% \clearfield{url}}}% {\ifboolexpr{% togl {cms@doi}% @@ -3835,7 +4000,7 @@ not test {\iffieldundef{doi}}% }% {\printfield{doi}% - \setunit*{\addperiod\addspace}\newblock}% + \setunit*{\newunitpunct}\newblock}% {}}% \ifboolexpr{% togl {cms@eprint}% @@ -3843,7 +4008,7 @@ not test {\iffieldundef{eprint}}% }% {\usebibmacro{eprint}% - \setunit*{\addperiod\addspace}\newblock}% + \setunit*{\newunitpunct}\newblock}% {}% \ifboolexpr{% togl {cms@url}% @@ -3914,7 +4079,7 @@ {\printfield{volume}}% Still print this w/o part or pages??? {\ifthenelse{\iffieldnums{pages}\AND% \iffieldundef{bookpagination}\AND\iffieldnums{volume}}% - {\printfield[default]{volume}% + {\printfield[shortvol]{volume}% \postvolpunct% \printfield{pages}}% {\printfield{volume}% @@ -3953,11 +4118,11 @@ \printfield{part}% \setunit{\addspace} \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[noformat]{maintitle}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[noformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}} @@ -3980,11 +4145,11 @@ \printfield{part}% \setunit{\addspace} \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[noformat]{maintitle}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[noformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}} @@ -4002,7 +4167,7 @@ {\iffieldundef{number}% {\ifthenelse{\iffieldundef{bookpagination}\AND\iffieldundef{eid}}% {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}% + {\setunit{\journalpagespunct}}% \usebibmacro{eid+or+pages}}% {\newcunit\usebibmacro{eid+or+pages}}}% {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. @@ -4020,7 +4185,7 @@ {\printfield{issue}% \setunit{\addspace}% \usebibmacro{cmsyear}}}% - \setunit{\addcolon\addspace}% + \setunit{\journalpagespunct}% \usebibmacro{eid+or+pages}}}} \newbibmacro*{eid+or+pages}{% @@ -4785,6 +4950,8 @@ %%%% Related functionality from standard.bbx %%%% +\providecommand*{\mkrelatedstringtext}[1]{{{\mainlang #1}}} + \newcounter{bbx:relatedcount} \newcounter{bbx:relatedtotal} \newcounter{cms@reviewcount}% @@ -4951,14 +5118,14 @@ test {\ifbibxstring{\thefield{relatedtype}s}}% }% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}s}}}% {\iffieldbibstring{relatedtype}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}}}}% {}}}% {\iffieldbibstring{relatedstring}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedstring}}}}% {\printfield[\bbx@tempb]{relatedstring}}}% \docsvfield{related}% \usebibmacro{endrelatedloop}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx index 82f4a000d69..9d5616564de 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx @@ -4,7 +4,7 @@ % formatted according to the specifications of the Chicago Manual of % Style. -\ProvidesFile{chicago-notes.cbx}[2020/04/20 v 3.14 biblatex citation style] +\ProvidesFile{chicago-notes.cbx}[2021/03/27 v 3.16 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -58,6 +58,9 @@ \providetoggle{cms@noibid} \providetoggle{cms@noidem} \providetoggle{cms@namedash} +\providetoggle{cms@bibnona} +\providetoggle{cms@citenona} +\providetoggle{cms@subseqnona} \providetoggle{cms@useibid} \providetoggle{cms@usecompiler} \providetoggle{cms@shorthandibid} @@ -65,9 +68,12 @@ \providetoggle{cms@fullshhand} \providetoggle{cms@inheritshhand} \providetoggle{cms@firstshort} +\providetoggle{cms@noshintro} +\providetoggle{cms@shandonly} \providetoggle{cms@origpublished} \providetoggle{cms@loccit} \providetoggle{cms@annotation} +\providetoggle{cms@cbxannote} \providetoggle{cms@postposit} \providetoggle{cms@legalnotes}% For legal types \providetoggle{cms@supranotes}% Ditto @@ -95,6 +101,7 @@ \providetoggle{cms@blogurl}% For 17th ed. blogs w/ comments \providetoggle{cms@related} \providetoggle{cms@citerel} +\providetoggle{cms@reprintfrom}% maintitle type w/in relatedfrom type \providetoggle{cms@gencite} \providetoggle{cms@genallnames} @@ -102,6 +109,16 @@ \iffieldundef{userc}% {}% {\nocite{\thefield{userc}}}% + \ifboolexpr{% + togl {cms@subseqnona}% + and + not togl {cms@citenona}% + and + test {\ifciteseen}% + and + not togl {cms@noneshort}% + }% + {\global\let\cms@lastna\undefined}{}% \global\togglefalse{cms@loccit}% \global\csundef{@cmsst}% \ifboolexpr{% @@ -157,8 +174,131 @@ \DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{% \settoggle{cms@genallnames}{#1}} -\DeclareBibliographyOption{annotation}[true]{% - \global\toggletrue{cms@annotation}} +\DeclareBiblatexOption{global,type,entry}[string]{annotation}[true]{% + \ifcsdef{cms@opt@annot@#1}% + {\csuse{cms@opt@annot@#1}}% + {\blx@err@invopt{annotation=#1}{}}}% +\def\cms@opt@annot@true{% + \toggletrue{cms@annotation}% + \togglefalse{cms@cbxannote}} +\def\cms@opt@annot@false{% + \togglefalse{cms@annotation}% + \togglefalse{cms@cbxannote}} +\def\cms@opt@annot@notes{% + \togglefalse{cms@annotation}% + \toggletrue{cms@cbxannote}} +\def\cms@opt@annot@bib{% + \toggletrue{cms@annotation}% + \togglefalse{cms@cbxannote}} +\def\cms@opt@annot@all{% + \toggletrue{cms@annotation}% + \toggletrue{cms@cbxannote}} + +\DeclareBiblatexOption{global,type,entry}[string]{bibannotesep}[vpar]{% + \ifcsdef{cms@opt@bannsep@#1}% + {\csuse{cms@opt@bannsep@#1}}% + {\blx@err@invopt{bibannotesep=#1}{}}} +\def\cms@opt@bannsep@none{% + \let\bibannotesep\@empty}% +\def\cms@opt@bannsep@comma{% + \def\bibannotesep{\addcomma\addspace}}% +\def\cms@opt@bannsep@colon{% + \def\bibannotesep{\addcolon\addspace}}% +\def\cms@opt@bannsep@space{% + \def\bibannotesep{\addspace}}% +\def\cms@opt@bannsep@semicolon{% + \def\bibannotesep{\addsemicolon\addspace}}% +\def\cms@opt@bannsep@period{% + \def\bibannotesep{\addperiod\addspace}}% +\def\cms@opt@bannsep@par{% + \def\bibannotesep{\addperiod\par\nobreak}}% +\def\cms@opt@bannsep@vpar{% + \def\bibannotesep{\addperiod\par\nobreak \vskip \bibitemsep}}% +\def\cms@opt@bannsep@parbreak{% + \def\bibannotesep{\addperiod\par}}% +\def\cms@opt@bannsep@vparbreak{% + \def\bibannotesep{\addperiod\par \vskip \bibitemsep}}% + +\DeclareBiblatexOption{global,type,entry}[string]{citeannotesep}[period]{% + \ifcsdef{cms@opt@cannsep@#1}% + {\csuse{cms@opt@cannsep@#1}}% + {\blx@err@invopt{citeannotesep=#1}{}}} +\def\cms@opt@cannsep@none{% + \let\citeannotesep\@empty}% +\def\cms@opt@cannsep@comma{% + \def\citeannotesep{\addcomma\addspace}}% +\def\cms@opt@cannsep@colon{% + \def\citeannotesep{\addcolon\addspace}}% +\def\cms@opt@cannsep@space{% + \def\citeannotesep{\addspace}}% +\def\cms@opt@cannsep@semicolon{% + \def\citeannotesep{\addsemicolon\addspace}}% +\def\cms@opt@cannsep@period{% + \def\citeannotesep{\addperiod\addspace}}% +\def\cms@opt@cannsep@par{% + \def\citeannotesep{\addperiod\par\nobreak}}% +\def\cms@opt@cannsep@vpar{% + \def\citeannotesep{\addperiod\par\nobreak \vskip\p@}}% +\def\cms@opt@cannsep@parbreak{% + \def\citeannotesep{\addperiod\par}}% +\def\cms@opt@cannsep@vparbreak{% + \def\citeannotesep{\addperiod\par \vskip\p@}}% + +\DeclareBiblatexOption{global}[string]{formatbib}[max]{% + \ifcsdef{cms@opt@formatbib@#1}% + {\csuse{cms@opt@formatbib@#1}}% + {\blx@err@invopt{formatbib=#1}{}}}% +\def\cms@opt@formatbib@max{}% +\def\cms@opt@formatbib@min{% + \renewcommand*{\bibsetup}{% + \interlinepenalty=0\relax + \widowpenalty=0\relax + \@clubpenalty=0\relax + \clubpenalty=0\relax + \brokenpenalty=0\relax + \raggedbottom + \frenchspacing + \biburlsetup}}% +\def\cms@opt@formatbib@minwo{% + \patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalty=0\relax}{}{}}% +\def\cms@opt@formatbib@annote{% + \patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalty=0\relax}{}{}% + \AtEveryBibitem{% + \interlinepenalty=5000\relax}}% +\def\cms@opt@formatbib@annotenp{% + \AtEndPreamble{% + \ifdefvoid{\cms@entrybreak}% + {\patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalties\cmspens{3}\relax}{}{}}% + {\patchcmd\bibsetup% + {\interlinepenalty=5000\relax}% + {\interlinepenalties\cmspens{\cms@entrybreak}\relax}{}{}}}}% + +\DeclareBiblatexOption{global}[integer]{entrybreak}[3]{% + \IfInteger{#1}% + {\numdef\cms@entrybreak{#1}}% + {\numdef\cms@entrybreak{3}\cms@warning@noline% + {'entrybreak=#1' isn't a valid option.\MessageBreak + This option only accepts integers.\MessageBreak + It has been set to the default '3'.\MessageBreak + Please see biblatex-chicago.pdf for\MessageBreak + more information}}} + +\def\cmspens@i#1{\space + \ifnum#1>\@ne\number5000 + \expandafter\cmspens@i + \expandafter{\number\numexpr#1-\@ne\expandafter}% + \else + \ifnum#1>\z@\number10 + \else\unspace + \fi\fi} + +\def\cmspens#1{\space #1\cmspens@i{#1}} \DeclareBibliographyOption[boolean]{noibid}[true]{% \global\toggletrue{cms@noibid}} @@ -166,7 +306,7 @@ \DeclareBibliographyOption[boolean]{useibid}[true]{% \global\toggletrue{cms@useibid}} -\DeclareBibliographyOption[boolean]{dashed}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{dashed}[true]{% \settoggle{cms@namedash}{#1}} \DeclareBibliographyOption[boolean]{short}[true]{% @@ -830,30 +970,31 @@ \settoggle{cms@fullshhand}{#1}} \DeclareBibliographyOption[boolean]{inheritshorthand}[true]{% - \settoggle{cms@inheritshhand}{#1}% - \iftoggle{cms@inheritshhand}% - {\DeclareDataInheritance{*}{*}{% - \inherit{shorthand}{shorthand} - \inherit{shorthandintro}{shorthandintro} - }}% - {}}% + \settoggle{cms@inheritshhand}{#1}}% \DeclareBiblatexOption{global,entry}[boolean]{shorthandfirst}[true]{% \settoggle{cms@firstshort}{#1}} +\DeclareBiblatexOption{global,type,entry}[string]{shorthandintro}[full]{% + \ifcsdef{cms@opt@shhintro@#1}% + {\csuse{cms@opt@shhintro@#1}}% + {\blx@err@invopt{shorthandintro=#1}{}}} +\def\cms@opt@shhintro@full{% + \togglefalse{cms@noshintro}% + \togglefalse{cms@shandonly}}% +\def\cms@opt@shhintro@short{% + \toggletrue{cms@shandonly}}% +\def\cms@opt@shhintro@none{% + \toggletrue{cms@noshintro}}% + \DeclareBibliographyOption[boolean]{compresspages}[true]{% \global\settoggle{cms@comprange}{#1}}% \DeclareBibliographyOption[boolean]{compressyears}[true]{% \global\settoggle{cms@compyears}{#1}}% -\DeclareBibliographyOption[string]{postnotepunct}[true]{% - \ifcsdef{cms@opt@ppunct@#1}% - {\csuse{cms@opt@ppunct@#1}}% - {\blx@err@invopt{postnotepunct=#1}{}}}% -\def\cms@opt@ppunct@true{% - \global\toggletrue{cms@modpostnote}}% -\def\cms@opt@ppunct@false{}% +\DeclareBibliographyOption[boolean]{postnotepunct}[true]{% + \global\settoggle{cms@modpostnote}{#1}}% \DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{% \settoggle{blx@usenamec}{#1}} @@ -1007,6 +1148,52 @@ \settoggle{cms@bookseries}{#1}% \settoggle{cms@notefield}{#1}}% +\DeclareBibliographyOption[string]{nameaddon}[all]{% + \ifcsdef{cms@gopt@na@#1}% + {\csuse{cms@gopt@na@#1}}% + {\csuse{cms@gopt@na@all}\cms@warning@noline% + {'nameaddon=#1' is not a valid global\MessageBreak + option. The default - 'all' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@gopt@na@all{}% +\def\cms@gopt@na@none{% + \settoggle{cms@bibnona}{true}% + \settoggle{cms@citenona}{true}}% +\def\cms@gopt@na@cite{\settoggle{cms@bibnona}{true}}% +\def\cms@gopt@na@bib{\settoggle{cms@citenona}{true}}% +\def\cms@gopt@na@first{\settoggle{cms@subseqnona}{true}}% +\def\cms@gopt@na@citefirst{% + \settoggle{cms@bibnona}{true}% + \settoggle{cms@subseqnona}{true}}% +\def\cms@gopt@na@bibfirst{% + \settoggle{cms@citenona}{true}% + \settoggle{cms@subseqnona}{true}}% + +\DeclareTypeOption[string]{nameaddon}[all]{% + \ifcsdef{cms@opt@na@#1}% + {\csuse{cms@opt@na@#1}}% + {\csuse{cms@opt@na@all}\cms@warning@noline% + {'nameaddon=#1' is not a valid type\MessageBreak + option. The default - 'all' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% +\def\cms@opt@na@all{}% +\def\cms@opt@na@none{% + \settoggle{cms@bibnona}{true}% + \settoggle{cms@citenona}{true}}% +\def\cms@opt@na@cite{\settoggle{cms@bibnona}{true}}% +\def\cms@opt@na@bib{\settoggle{cms@citenona}{true}}% + +\DeclareEntryOption[string]{nameaddon}[all]{% + \ifcsdef{cms@opt@na@#1}% + {\csuse{cms@opt@na@#1}}% + {\csuse{cms@opt@na@all}\cms@warning@noline% + {'nameaddon=#1' is not a valid entry\MessageBreak + option. The default - 'all' - has been set.\MessageBreak + Please see biblatex-chicago.pdf for valid\MessageBreak + option keys}}}% + \DeclareBiblatexOption{global,type,entry}[string]{related}[bib]{% \ifcsdef{cms@opt@rel@#1}% {\csuse{cms@opt@rel@#1}}% @@ -1057,6 +1244,32 @@ \def\cms@opt@shxp@period{% \def\shortextrapunct{\addperiod\addspace}}% +% Controlling formatting of, and punctuation before, nameaddon fields % + +\DeclareBiblatexOption{global,type,entry}[string]{nameaddonformat}{% + \def\cms@naformat{#1}} + +\DeclareBiblatexOption{global,type,entry}[string]{nameaddonsep}[space]{% + \ifcsdef{cms@opt@nasep@#1}% + {\csuse{cms@opt@nasep@#1}}% + {\csuse{cms@opt@nasep@space}\cms@warning@noline% + {'nameaddonsep=#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@nasep@none{% + \let\nameaddonpunct\@empty}% +\def\cms@opt@nasep@comma{% + \def\nameaddonpunct{\addcomma\addspace}}% +\def\cms@opt@nasep@colon{% + \def\nameaddonpunct{\addcolon\addspace}}% +\def\cms@opt@nasep@space{% + \def\nameaddonpunct{\addspace}}% +\def\cms@opt@nasep@semicolon{% + \def\nameaddonpunct{\addsemicolon\addspace}}% +\def\cms@opt@nasep@period{% + \def\nameaddonpunct{\addperiod\addspace}}% + % Controlling punctuation before titleaddon fields % \DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{% @@ -1078,7 +1291,7 @@ \def\cms@opt@ptao@semicolon{% \def\ptitleaddonpunct{\addsemicolon\addspace}}% \def\cms@opt@ptao@period{% - \def\ptitleaddonpunct{\addperiod\addspace}}% + \def\ptitleaddonpunct{\newunitpunct}}% \DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{% \ifcsdef{cms@opt@ctao@#1}% @@ -1099,7 +1312,7 @@ \def\cms@opt@ctao@semicolon{% \def\ctitleaddonpunct{\addsemicolon\addspace}}% \def\cms@opt@ctao@period{% - \def\ctitleaddonpunct{\addperiod\addspace}}% + \def\ctitleaddonpunct{\newunitpunct}}% % Controlling punctuation before shorthand in notes % @@ -1130,10 +1343,14 @@ \ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,% related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,% - legalnotes,supranotes,shortextrapunct,dashed} + legalnotes,supranotes,shortextrapunct,dashed,bibannotesep,citeannotesep,% + nameaddonsep=space} \ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}% +\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{% + shorthandintro=full}% + \iftoggle{cms@legalnotes}% {\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% {}% @@ -1147,25 +1364,8 @@ \DeclareBibliographyOption{cmsdate}{}% -\DeclareBibliographyOption[boolean]{strict}[true]{% - \settoggle{cms@strict}{#1}% - \iftoggle{cms@strict}% - {\let\splitfootnoterule\footnoterule - \renewcommand\footnoterule{}% - \advance\skip\footins 4\p@\@plus2\p@\relax - \gdef\split@prev{0} - \let\pagefootnoterule\footnoterule - % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} - \def\footnoterule{\relax - \ifnum\split@prev=\z@ - \pagefootnoterule - \else - \splitfootnoterule - \fi - \xdef\split@prev{\the\insertpenalties}% - }}% - {}} - +\DeclareBiblatexOption{global}[boolean]{strict}[true]{% + \settoggle{cms@strict}{#1}}% \protected\def\blx@newcunit{% \iftoggle{blx@keepunit}% @@ -1266,7 +1466,11 @@ {\usebibmacro{cite:shorthand}% \usebibmacro{cite:save}% \global\toggletrue{cms@noidem}}% - {\iftoggle{cms@allshort}% + {\ifboolexpr{% + togl {cms@allshort}% + and + not togl {cms@noneshort}% + }% {\global\toggletrue{cms@shortnote}% \global\togglefalse{cms@fullnote}% \global\toggletrue{cms@printshhand}% @@ -1537,6 +1741,8 @@ togl {cms@supranotes}% and test {\iffootnote}% + and + test {\ifciteseen}% }% {\newcunit% \printtext{\bibstring{supranote}\addnbspace% @@ -1563,6 +1769,14 @@ and not test {\iffieldint{volume}}% ) + or + ( + test {\iffieldundef{volume}}% Bug fix; correct? + and + test {\iffieldundef{series}}% + and + not test {\iffieldundef{titleaddon}}% + ) }% {\ifboolexpr{% test {\iffieldundef{entrysubtype}}% @@ -1601,6 +1815,8 @@ and test {\iffootnote}% and + test {\ifciteseen}% + and ( test {\iffieldequalstr{entrysubtype}{un}}% or @@ -1809,6 +2025,8 @@ and togl {cms@supranotes}% and + test {\ifciteseen}% + and ( test {\ifentrytype{legal}}% or @@ -1824,23 +2042,33 @@ {\newcunit% \printtext{\bibstring{supranote}\addnbspace% \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% - \newcunit}}% ?? - {}}% + \iffieldundef{postnote}{}{\printunit{\addcomma\addspace}}}}% ?? + {}}% The printunit is for when a shorthand is also an ibidem. \newbibmacro*{cms:shorthandintro}{% For changing the citedas phrase - \iffieldundef{shorthand}% + \ifboolexpr{% + test {\iffieldundef{shorthand}}% + or + togl {cms@noshintro}% option shorthandintro=none + or + togl {cms@noneshort}% mainly for Bluebook + }% {}% - {\iffieldundef{shorthandintro}% + {\iftoggle{cms@shandonly}% option shorthandintro=short {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% \ifentrytype{legislation}}% - {\printtext[brackets]{% - \bibstring{hereinafter}\addspace% - \printfield{shorthand}}}% - {\printtext[parens]{% - \bibstring{citedas}\addspace% - \printfield{shorthand}}}}% - {%\addspace%\setunit{\addspace}% Ditto - \printfield{shorthandintro}}}} + {\printtext[brackets]{\printfield{shorthand}}}% + {\printtext[parens]{\printfield{shorthand}}}}% + {\iffieldundef{shorthandintro}% + {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% + \ifentrytype{legislation}}% + {\printtext[brackets]{% + \bibstring{hereinafter}\addspace% + \printfield{shorthand}}}% + {\printtext[parens]{% + \bibstring{citedas}\addspace% + \printfield{shorthand}}}}% + {\printfield{shorthandintro}}}}} \newbibmacro*{cite:ibid}{% \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR% @@ -1988,7 +2216,7 @@ \ifthenelse{\iffieldundef{pagination}\AND% \iffieldundef{bookpagination}}% {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}}}}}% + {\setunit{\journalpagespunct}}}}}}% %% Macros from verbose.cbx %% @@ -2166,21 +2394,18 @@ \ifhyperref% {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}% {}% - \nopunct% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\addspace}{\unspace}}%\unspace Put \nopunct and \unspace here for 0.8e. + \nopunct% Remove otherlang test for 3.16 + }%\unspace Put \nopunct and \unspace here for 0.8e. {\usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \usebibmacro{clearpublin}\clearfield{shorthand}% \usebibmacro{cms:titlehook}% + \global\toggletrue{cms@reprintfrom}% \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% \toggletrue{cms@origpublished}\frenchspacing}% {cite:\thefield{entrytype}}% - \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}% + \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}% + \global\togglefalse{cms@reprintfrom}}% {\multicitedelim}% {\finentry} @@ -2258,15 +2483,87 @@ \DeclareMultiCiteCommand{\surnamecites}{surnamecite}{\multicitedelim} +\DeclareCitePunctuationPosition{\citeincitef}{d} + +\DeclareCitePunctuationPosition{\citeincitefs}{d} + +\DeclareMultiCiteCommand{\citeincites}[\cmswrap]% +{citeincite}{\multicitedelim} + +\DeclareMultiCiteCommand{\citeincitefs}[\cmswrapf]% +{citeincitef}{\multicitedelim} + +\DeclareMultiCiteCommand{\fullciteincites}[\cmsfwrap]% +{fullciteincite}{\multicitedelim} + +\DeclareCiteCommand{\citeincite}[\cmswrap] +{\usebibmacro{backref+check}% + \usebibmacro{prenote}}% +{\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \toggletrue{cms@noidem}% + \usebibmacro{citeindex}% + \usebibmacro{cite:short}{\thefield{entrytype}}% + \usebibmacro{cite:save}} +{\multicitedelim} +{\usebibmacro{postnote}}% + +\DeclareCiteCommand{\citeincitef}[\cmswrapf] +{\usebibmacro{backref+check}% + \usebibmacro{prenote}}% +{\toggletrue{cms@shortnote}% + \togglefalse{cms@fullnote}% + \toggletrue{cms@noidem}% + \usebibmacro{citeindex}% + \usebibmacro{cite:short}{\thefield{entrytype}}% + \usebibmacro{cite:save}} +{\multicitedelim} +{\usebibmacro{postnote}}% + +\DeclareCiteCommand{\fullciteincite}[\cmsfwrap] +{\usebibmacro{backref+check}% + \usebibmacro{prenote}}% +{\usebibmacro{citeindex}% + \toggletrue{cms@fullnote}% + \togglefalse{cms@shortnote}% + \usebibmacro{footcite:save}% + \usebibmacro{cite:full}% + \usebibmacro{cite:save}} +{\multicitedelim} +{} + +\def\cmsfwrap#1{\clearfield{prenote}#1}% + +\def\cmswrap#1{% + \gundef{\cms@pncic}% + \savefield{postnote}{\cms@pncic}% + \clearfield{postnote}\clearfield{prenote}% + \begingroup#1\endgroup% + \ifdef{\blx@thepostpunct}% + {\ifdefvoid{\abx@field@postpunct}% + {\blx@dopostpunct}{}}% + {}% + \global\let\abx@field@postnote\cms@pncic% + \global\let\abx@field@postpunct\@empty}% + +\def\cmswrapf#1{% + \gundef{\cms@pncic}% + \savefield{postnote}{\cms@pncic}% + \clearfield{postnote}\clearfield{prenote}% + \begingroup#1\ifdef{\blx@thepostpunct}{\cms@cicpunct}{}\endgroup + \global\let\abx@field@postnote\cms@pncic}% + +\def\cms@cicpunct{}% Only needed in US; redefine in lbx + \DeclareCiteCommand{\shortcite} - {\usebibmacro{prenote}} + {\usebibmacro{prenote}}% {\toggletrue{cms@shortnote}% \togglefalse{cms@fullnote}% \usebibmacro{citeindex}% \usebibmacro{cite:short}{\thefield{entrytype}}% \usebibmacro{cite:save}} {\multicitedelim} - {\usebibmacro{postnote}} + {\usebibmacro{postnote}}% \DeclareCiteCommand*{\shortcite} {\boolfalse{citetracker}% @@ -2576,6 +2873,7 @@ \DeclareBibliographyDriver{cite:article}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{cmag+news+author}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{cmag+news+title}% @@ -2620,6 +2918,7 @@ {}% \usebibmacro{finentry}}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{cmag+news+title}% @@ -2668,6 +2967,7 @@ \DeclareBibliographyDriver{cite:artwork}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% @@ -2720,6 +3020,7 @@ \DeclareBibliographyDriver{cite:audio}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{ctitle+stitle}% @@ -2757,12 +3058,12 @@ \printfield{volume}% \printfield{part}% \setunit{\addspace} - \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[mtnoformat]{maintitle}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[smtnoformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct} \printfield{maintitleaddon}}} \newcunit @@ -2804,6 +3105,7 @@ \DeclareBibliographyDriver{cite:book}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{citaltitle+stitle}% @@ -2938,6 +3240,7 @@ \DeclareBibliographyDriver{cite:bookinbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{citaltitle+stitle}% @@ -3091,6 +3394,7 @@ \DeclareBibliographyDriver{cite:booklet}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% @@ -3124,6 +3428,7 @@ \DeclareBibliographyDriver{cite:collection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% @@ -3237,15 +3542,21 @@ \DeclareBibliographyDriver{cite:customc}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{justauthor}% - \iffieldundef{nameaddon}% - {\newcunit} + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@citenona}% + }% + {\newcunit}% {\setunit{\addspace}}% \usebibmacro{italtitle+stitle}% \usebibmacro{finentry}} \DeclareBibliographyDriver{cite:dataset}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \iftoggle{cms@headlessnote}{}{\setunit{\addspace}\newblock}% \printtext[parens]{% @@ -3319,6 +3630,7 @@ \DeclareBibliographyDriver{cite:image}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% @@ -3371,6 +3683,7 @@ \DeclareBibliographyDriver{cite:inbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{ctitle+stitle}% @@ -3511,6 +3824,7 @@ \DeclareBibliographyDriver{cite:incollection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock% \usebibmacro{ctitle+stitle}% @@ -3651,6 +3965,7 @@ \DeclareBibliographyDriver{cite:inproceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{ctitle+stitle}% @@ -3696,6 +4011,14 @@ \usebibmacro{cser+num}% \newcunit\newblock \usebibmacro{cnotefield}% + \newcunit\newblock + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \setunit{\addspace}\newblock% \printtext[parens]{% \usebibmacro{org+publ+loc+year}}% @@ -3787,6 +4110,7 @@ \DeclareBibliographyDriver{cite:inreference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iffieldundef{clonesourcekey}{}{\newcunit}% \usebibmacro{citaltitle+stitle}% \newcunit\newblock @@ -3847,6 +4171,7 @@ \DeclareBibliographyDriver{cite:jurisdiction}{% \iffieldequalstr{entrysubtype}{square}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -3908,6 +4233,7 @@ \usebibmacro{finentry}} {\iffieldequalstr{entrysubtype}{round}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -3968,6 +4294,7 @@ {}% \usebibmacro{finentry}} {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{clegis+news+title}% \setunit{\addspace}% \usebibmacro{language+transtitle}% @@ -4038,6 +4365,7 @@ \DeclareBibliographyDriver{cite:legal}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% @@ -4107,6 +4435,7 @@ \DeclareBibliographyDriver{cite:legislation}{% \iffieldequalstr{entrysubtype}{uk}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% @@ -4174,6 +4503,7 @@ \usebibmacro{finentry}} {\iffieldequalstr{entrysubtype}{hansard}% FIXME? {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% @@ -4234,6 +4564,7 @@ {}% \usebibmacro{finentry}} {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{clegis+news+title}% @@ -4310,6 +4641,7 @@ \DeclareBibliographyDriver{cite:letter}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \savefield{fullhash}{\bbx@lasthash}% \printtext[title]{% \printfield[noformat]{title}}% @@ -4452,6 +4784,7 @@ \DeclareBibliographyDriver{cite:manual}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author+org}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% @@ -4495,6 +4828,7 @@ \DeclareBibliographyDriver{cite:misc}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \iffieldundef{entrysubtype}% @@ -4556,6 +4890,7 @@ \DeclareBibliographyDriver{cite:music}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% @@ -4598,12 +4933,12 @@ \printfield{volume}% \printfield{part}% \setunit{\addspace} - \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[mtnoformat]{maintitle}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[smtnoformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}} \newcunit @@ -4657,6 +4992,7 @@ \DeclareBibliographyDriver{cite:mvbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{citaltitle+stitle}% @@ -4797,6 +5133,7 @@ \DeclareBibliographyDriver{cite:mvcollection}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% @@ -4931,6 +5268,7 @@ \DeclareBibliographyDriver{cite:mvproceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% @@ -4976,6 +5314,14 @@ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}% \newcunit\newblock \usebibmacro{cnotefield}% + \newcunit\newblock + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \setunit{\addspace}\newblock% \printtext[parens]{% \usebibmacro{org+publ+loc+year}}% @@ -5062,6 +5408,7 @@ \DeclareBibliographyDriver{cite:mvreference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{citaltitle+stitle}% \newcunit\newblock \iffieldundef{edition}% @@ -5128,6 +5475,7 @@ \DeclareBibliographyDriver{cite:online}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \IfBeginWith{\thefield{title}}{CCCCCC}% @@ -5204,6 +5552,7 @@ \DeclareBibliographyDriver{cite:patent}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author+holder}% +holder? \usebibmacro{hlpunct}%\newcunit\newblock \iffieldundef{title}% @@ -5264,6 +5613,7 @@ \DeclareBibliographyDriver{cite:performance}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{citaltitle+stitle}% @@ -5313,6 +5663,7 @@ \DeclareBibliographyDriver{cite:periodical}{% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{issuetitle}% @@ -5349,6 +5700,7 @@ {}% \usebibmacro{finentry}}% {\usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{issuetitle}% @@ -5391,6 +5743,7 @@ \DeclareBibliographyDriver{cite:proceedings}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% @@ -5422,6 +5775,14 @@ \usebibmacro{cser+num}% \newcunit\newblock \usebibmacro{cnotefield}% + \newcunit\newblock + \printfield{eventtitle}% + \setunit{\ctitleaddonpunct}% + \printfield{eventtitleaddon}% + \newcunit% + \printfield{venue}% + \newcunit\newblock + \printeventdate% \setunit{\addspace}\newblock% \printtext[parens]{% \usebibmacro{org+publ+loc+year}}% @@ -5501,6 +5862,7 @@ \DeclareBibliographyDriver{cite:reference}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iffieldundef{clonesourcekey}{}{\newcunit}% \usebibmacro{citaltitle+stitle}% \newcunit\newblock @@ -5553,6 +5915,7 @@ \DeclareBibliographyDriver{cite:report}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \iffieldequalstr{entrysubtype}{unpublished}% @@ -5600,6 +5963,7 @@ \DeclareBibliographyDriver{cite:review}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iffieldequalstr{entrysubtype}{magazine}% {\usebibmacro{cmag+news+author}}% {\usebibmacro{author/editor}}% @@ -5707,12 +6071,14 @@ \DeclareBibliographyDriver{cite:standard}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \iffieldundef{entrysubtype}% {}% {\ifnameundef{author}% {\iflistundef{organization}% {}% - {\printlist{organization}}}% + {\printlist{organization}% + \usebibmacro{print+nameaddon}}}% {\usebibmacro{justauthor}}% \usebibmacro{hlpunct}}%\setunit{\addcomma\addspace}\newblock% \usebibmacro{citaltitle+stitle}% @@ -5782,6 +6148,7 @@ \DeclareBibliographyDriver{cite:suppbook}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author}% \usebibmacro{hlpunct}%\newcunit\newblock \usebibmacro{inforaft}% @@ -5845,6 +6212,7 @@ \DeclareBibliographyDriver{cite:thesis}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{ctitle+stitle}% @@ -5880,6 +6248,7 @@ \DeclareBibliographyDriver{cite:unpublished}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \usebibmacro{author/editor}% \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock \usebibmacro{ctitle+stitle}% @@ -5929,6 +6298,7 @@ \DeclareBibliographyDriver{cite:video}{% \usebibmacro{bibindex}% + \usebibmacro{begentry}% \ifboolexpr{% test {\iffieldequalstr{entrysubtype}{tvepisode}}% and @@ -5984,12 +6354,12 @@ \printfield{volume}% \printfield{part}% \setunit{\addspace} - \bibstring{ofseries}% - \setunit{\addspace} - \printtext[maintitle]{% - \printfield[mtnoformat]{maintitle}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[smtnoformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}} \newcunit @@ -6158,29 +6528,29 @@ %% comprange code moved to .sty \DeclareFieldFormat{postnote}{% Changed for page compression option - \ifboolexpr{% - togl {cms@comprange}% - and - test {\ifpages{#1}}% - }% - {\iffieldundef{pagination}% - {\mkcomprange{#1}}% - {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + \ifpages{#1}% xetex and luatex revealed a bug in original logic + {\iftoggle{cms@comprange}% + {{\iffieldundef{pagination}% + {\mkcomprange{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}}% + {{\iffieldundef{pagination}% + {\mknormrange{#1}}% + {\mknormrange[{\mkpageprefix[pagination]}]{#1}}}}}% {\iffieldundef{pagination}% {#1}% {\mkpageprefix[pagination]{#1}}}}% \DeclareFieldFormat[inreference]{postnote}{% - \ifboolexpr{% - togl {cms@comprange}% - and - test {\ifpages{#1}}% - }% - {\iffieldundef{pagination}% - {\bibsstring{subverbo}\addspace\mkbibquote{#1}}% - {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + \ifpages{#1}% + {\iftoggle{cms@comprange}% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% + {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}% + {\iffieldundef{pagination}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% + {\mknormrange[{\mkpageprefix[pagination]}]{#1}}}}% {\iffieldundef{pagination}% - {\bibsstring{subverbo}\addspace\mkbibquote{#1}}% + {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}% {\mkpageprefix[pagination]{#1}}}}% \newrobustcmd*{\mkjuridprefix}[1]{% @@ -6251,20 +6621,47 @@ \mkbibemph{#1}\isdot} \DeclareFieldFormat[customc]{title}{% - \iffieldundef{nameaddon}% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + ( + test {\ifbibliography}% + and + togl {cms@bibnona}% + ) + or + ( + test {\ifcitation}% + and + togl {cms@citenona}% + ) + }% {\mkbibemph{\bibstring{see}}% \addspace% #1}% {#1}} \DeclareFieldFormat[customc]{citetitle}{% - \iffieldundef{nameaddon}% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@citenona}% + }% {\mkbibemph{\bibstring{see}}% \addspace% #1}% {\printfield{nameaddon}\addspace #1}} -\DeclareFieldAlias[customc]{lostitle}[customc]{title} +\DeclareFieldFormat[customc]{lostitle}{% + \ifboolexpr{% + test {\iffieldundef{nameaddon}}% + or + togl {cms@bibnona}% + }% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {\addspace #1}} \DeclareFieldFormat[misc]{title}{% \iffieldundef{entrysubtype}% @@ -6288,6 +6685,7 @@ \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} \DeclareFieldFormat[dataset]{lostitle}{% + \addspace% Instead of in shorthand driver (2.1) \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} \DeclareFieldFormat[review,suppperiodical]{title}{% @@ -6387,7 +6785,10 @@ \DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} \DeclareFieldFormat{note}{% - \ifcapital{\MakeCapital{#1}}{#1}}% + \if@cms@capital{#1}{\MakeCapital{#1}}{#1}}% + +\DeclareFieldFormat{capital}{% + \ifcapital{\MakeCapital{#1}}{#1}} \DeclareFieldFormat [audio,manual,music,patent,report,suppbook,suppcollection,thesis,video] @@ -6502,14 +6903,34 @@ \DeclareFieldAlias{userd}{titleaddon}% 16th ed. -\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! +\DeclareFieldFormat{nameaddon}{% + \ifdefvoid{\cms@naformat}% + {\mkbibbrackets{#1\bibsentence}}% + {\printtext[\cms@naformat]{#1\isdot}}}% -\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{#1\bibsentence} +\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{% + \ifdefvoid{\cms@naformat}% + {#1\ifboolexpr{%( + test {\IfEndWith{\thefield{nameaddon}}{)}}%[ + or + test {\IfEndWith{\thefield{nameaddon}}{]}}% + }% + {\bibsentence}{\isdot}}% + {\printtext[\cms@naformat]{#1\isdot}}} \DeclareFieldFormat[misc]{nameaddon}{% \iffieldundef{entrysubtype}% - {\mkbibbrackets{#1\bibsentence}}% - {#1\bibsentence}} + {\ifdefvoid{\cms@naformat}% + {\mkbibbrackets{#1\bibsentence}}% + {\printtext[\cms@naformat]{#1\isdot}}}% + {\ifdefvoid{\cms@naformat}% + {#1\ifboolexpr{%( + test {\IfEndWith{\thefield{nameaddon}}{)}}%[ + or + test {\IfEndWith{\thefield{nameaddon}}{]}}% + }% + {\bibsentence}{\isdot}}% + {\printtext[\cms@naformat]{#1\isdot}}}} \DeclareFieldFormat[customc]{nameaddon}{% For cross-refs \ifbibstring{#1}% @@ -6544,7 +6965,7 @@ \DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? \DeclareFieldFormat{titleaddon}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}% + \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}}% \DeclareFieldAlias{booktitleaddon}{titleaddon} @@ -6559,10 +6980,14 @@ \DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot} +\DeclareFieldFormat{injournaltitle}{\mkbibemph{#1}\isdot} + \DeclareFieldFormat{issuetitle}{\mkbibquote{#1\isdot}} \DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot} +\DeclareFieldFormat{inshortjournal}{\mkbibemph{#1}\isdot} + \DeclareFieldFormat[periodical]{shorttitle}{\mkbibemph{#1}\isdot} \DeclareFieldFormat{jourser}{% @@ -6608,6 +7033,8 @@ \DeclareFieldFormat{jourvol}{#1} +\DeclareFieldFormat{shortvol}{#1} + \DeclareFieldFormat{sernum}{% \ifnumeral{#1}% {\addnbspace #1}% @@ -6618,15 +7045,38 @@ \DeclareFieldFormat{shortseries}{#1\isdot} \DeclareFieldFormat{addendum}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}} \DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{% \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}} -% This works better here than in the entrytail macro -- userf use is -% no longer a problem, though the page breaking still isn't ideal. +% There was unfortunate interaction between the case-changing code and +% cite commands when the latter were at the beginning of the +% field. This modified \ifcapital will be used in the fields in which +% the \citeincite(s) commands can appear. + +\newrobustcmd*{\if@cms@capital}[1]{% + \noexpandarg + \StrChar{#1}{1}[\cms@char]% + \ifboolexpr{% + test {\ifcapital}% + and + not test {\ifdefstring{\cms@char}{\citeincite}}% + and + not test {\ifdefstring{\cms@char}{\citeincitef}}% + and + not test {\ifdefstring{\cms@char}{\citeincites}}% + and + not test {\ifdefstring{\cms@char}{\citeincitefs}}% + }% + {\@firstoftwo}% + {\@secondoftwo}% +} -\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1} +% For annotation fixes move all code for separators to the entrytail +% macro, below. + +\DeclareFieldFormat{annotation}{#1}% \DeclareFieldFormat{part}{% xref revision ??? \ifnumerals{#1}% @@ -6723,10 +7173,14 @@ not togl {blx@skipbib}% }% {\printtext[bibhyperref]{#1}}% - {#1}}% + {\ifentryinbib{\thefield{clonesourcekey}}% + {\printtext{\bibhyperref[\abx@field@clonesourcekey]{#1}}}% + {#1}}}% {\iftoggle{cms@allshort}% {\iftoggle{blx@skipbib}{#1}{\printtext[bibhyperref]{#1}}}% - {\printtext[bibhyperlink]{#1}}}}% + {\iffieldundef{clonesourcekey}% + {\printtext[bibhyperlink]{#1}}% + {\printtext{\bibhyperlink{\abx@field@clonesourcekey}{#1}}}}}}% \newrobustcmd*{\cmsshhyper}[1]{% \iffootnote% @@ -6765,7 +7219,7 @@ {#1}}% \ifentrytype{jurisdiction}% {\newcunit}% - {\printunit{\relatedpunct}}}% Issue w/ printunit. Our bug? + {\iftoggle{smartof}{}{\printunit{\relatedpunct}}}}% Issue w/ printunit. \DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib \ifboolexpr{% @@ -6776,8 +7230,7 @@ {#1}% {\ifcapital% {\MakeCapital{#1}}% - {#1}}% - \addspace}% + {#1}}}% %%%% Commands, for users and internal %%%% @@ -6815,7 +7268,7 @@ \newcommand*{\reprintpunct}{% \iftoggle{cms@fullnote}% {\setunit*{\addsemicolon\addspace}}% - {\setunit*{\addperiod\addspace}}} + {\setunit*{\newunitpunct}}} \newcommand*{\encypunct}{% for named entries in an encyclopedia \iftoggle{cms@fullnote}% @@ -6931,7 +7384,9 @@ {\addcomma\addspace}% {\addcomma\addspace\bibstring{and}\addspace}}}% -\renewcommand*{\postnotedelim}{% +\newcommand*{\journalpagespunct}{\addcolon\space}% Make it configurable + +\renewcommand*{\postnotedelim}{% v 2.1: Made all punct use units \ifboolexpr{% test {\ifciteibid}% and @@ -6943,40 +7398,59 @@ test {\ifentrytype{legislation}}% ) }% - {\addspace}% + {\setunit{\addspace}}% {\iftoggle{cms@shortnote}% {\iffieldequalstr{entrysubtype}{classical}% {\DeclareNumChars*{abcdeABCDE:}% Makes classical \iffieldpages{postnote}% test more accurate. See 17.253. - {\addspace}% - {\addcomma\addspace}\DeclareNumChars{.}}% - {\addcomma\addspace}}% 16th ed -- no more volumes test. + {\setunit{\addspace}}% + {\newcunit}\DeclareNumChars{.}}% + {\newcunit}}% 16th ed -- no more volumes test. {\iftoggle{cms@fullnote}% {\ifthenelse{\(\ifentrytype{article}\OR \ifentrytype{review}\OR \ifentrytype{periodical}\OR \ifentrytype{suppperiodical}\)\AND\NOT \iffieldequalstr{entrysubtype}{magazine}}% - {\addcolon\addspace}% - {\addcomma\addspace}}% - {\addcomma\addspace}}}}% + {\setunit{\journalpagespunct}}% + {\newcunit}}% + {\newcunit}}}}% \newcommand*{\postnotewrapper}{% - \iftoggle{cms@modpostnote}% + \iftoggle{cms@modpostnote}% Multiple bugs in v 2.0. {\ifboolexpr{% test {\iffieldstart{postnote}{,}}% or test {\iffieldstart{postnote}{\bibrangessep}}% }% - {\addcomma}% w/ or w/o \addspace? - {\ifboolexpr{% - test {\iffieldstart{postnote}{;}}% - or - test {\iffieldstart{postnote}{:}}% - or - test {\iffieldstart{postnote}{.}}% - }% - {}{\postnotedelim}}}% + {\togglefalse{blx@unit}% + \expandarg + \StrGobbleLeft{\abx@field@postnote}{1}[\abx@field@postnote]% + \iffieldstart{postnote}{\ }% + {\setunit{\addcomma}}% + {\newcunit}}% + {\iffieldstart{postnote}{;}% + {\togglefalse{blx@unit}% + \expandarg + \StrGobbleLeft{\abx@field@postnote}{1}[\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}}% \newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from @@ -7077,7 +7551,11 @@ \newbibmacro*{finentry}{%{\finentry} To make annotated bibliography \togglefalse{cms@switchdates}% - \ifbibliography + \ifboolexpr{% + togl {cms@annotation}% + or + togl {cms@cbxannote}% + }% {\usebibmacro{entrytail}}% {}% \finentry} @@ -7154,11 +7632,30 @@ {}}% \newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography - \newunit\newblock - \iftoggle{cms@annotation}% - {\usebibmacro{annotation}% - \newunit\newblock}% - {}}% + \ifbibliography% + {\iftoggle{cms@annotation}% + {\togglefalse{blx@unit}% + \togglefalse{blx@keepunit}% + \setunit{\bibannotesep}% + \usebibmacro{annotation}% + \newunit\newblock}% + {\newunit}}% + {\iftoggle{cms@cbxannote}% + {\togglefalse{blx@unit}% + \togglefalse{blx@keepunit}% + \setunit{\citeannotesep}% + \usebibmacro{annotation}% + \newunit\newblock}% + {\newunit}}}% + +% From biblatex.def; biblatex 3.15 toggled blx@bibliography off here, +% but we still need to be able to test it in Chicago, at least with +% the current code, so redefine the macro. + +\renewbibmacro*{annotation}{% + \iffieldundef{annotation}% + {\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}}% + {\printfield{annotation}}} \newbibmacro*{author+holder}{% \ifnameundef{author}% @@ -7182,7 +7679,7 @@ {\bibstring{byauthor}\addspace% \printnames[byauthor]{author}}}} -\newbibmacro*{byauthorpunct}{% +\newbibmacro*{byauthorpunct}{% Obsolete? \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}% {\addperiod\addspace}% {\newcunit}} @@ -7254,7 +7751,7 @@ togl {cms@namedash}% }% {\printtext{\bibnamedash}}% - {\usebibmacro{journal+sub}% + {\usebibmacro{journal+sub}{}% \setunit*{\addspace}% \printlist[periodplace]{location}% \savefield{journaltitle}{\bbx@lasthash}}}% @@ -7346,14 +7843,14 @@ {\bibstring{by#2}}% {\ifbibxstring{by\thefield{#1type}}% {\bibstring{by\thefield{#1type}}}% - {\printtext[note]{\thefield{#1type}}}}}% + {\printtext[capital]{\thefield{#1type}}}}}% \newbibmacro*{cbytypestrg}[2]{% \iffieldundef{#1type}% {\bibstring{cby#2}}% {\ifbibxstring{cby\thefield{#1type}}% {\bibstring{cby\thefield{#1type}}}% - {\printtext[note]{\thefield{#1type}}}}}% + {\printtext[capital]{\thefield{#1type}}}}}% \newbibmacro*{cbyeditor}{% \ifnameundef{editor}% @@ -7618,7 +8115,9 @@ and not test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}% }% - {\printfield{volume}% + {\DeclareFieldAlias{citetitle}{title:hook:alt}% + \DeclareFieldAlias{shorthand}{shorthand:hook}% + \printfield{volume}% \clearfield{volume}% \global\let\cbx@incollvol\undefined% Volume fix \printfield{part}% @@ -7626,7 +8125,7 @@ \global\let\cbx@incollpart\undefined% Volume fix \setunit{\addspace}% \bibstring{ofseries}% - \setunit{\addspace}}% + \iftoggle{smartof}{}{\setunit{\addspace}}}% {\bibstring{in}\setunit{\addspace}}}% {\iffieldundef{part}% {\ifcsdef{cbx@incollpart}% @@ -7637,13 +8136,17 @@ test {\IfBeginWith{\thefield{entrytype}}{mv}}% and not test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}% + and + togl {cms@xrefpart}% }% - {\printfield[xrefpart]{part}% + {\DeclareFieldAlias{citetitle}{title:hook:alt}% + \DeclareFieldAlias{shorthand}{shorthand:hook}% + \printfield[xrefpart]{part}% \clearfield{part}% \global\let\cbx@incollpart\undefined% Volume fix \setunit{\addspace}% \bibstring{ofseries}% - \setunit{\addspace}}% + \iftoggle{smartof}{}{\setunit{\addspace}}}% {\bibstring{in}\setunit{\addspace}}}}% {\iffieldundef{part}% {\ifcsdef{cbx@incollpart}% @@ -7652,7 +8155,9 @@ {}% \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% - {\printfield{volume}% + {\DeclareFieldAlias{citetitle}{title:hook:alt}% + \DeclareFieldAlias{shorthand}{shorthand:hook}% + \printfield{volume}% \clearfield{volume}% \global\let\cbx@incollvol\undefined% Volume fix \printfield{part}% @@ -7660,7 +8165,7 @@ \global\let\cbx@incollpart\undefined% Volume fix \setunit{\addspace}% \bibstring{ofseries}% - \setunit{\addspace}}% + \iftoggle{smartof}{}{\setunit{\addspace}}}% {\bibstring{in}\setunit{\addspace}}}}% \newbibmacro*{chapincoll}{% @@ -7691,7 +8196,13 @@ {\printfield{chapter}\clearfield{chapter}% \iffieldundef{booktitle}% {}% - {\addspace\bibstring{of}\setunit{\addspace}}}}% + {\iftoggle{cms@reprintfrom}% + {\DeclareFieldAlias{btnoformat}{title:hook}}% + {\DeclareFieldAlias{btnoformat}{title:hook:alt}}% + \DeclareFieldAlias{sbtnoformat}{title}% + \DeclareFieldAlias{booktitle}{default}% + \addspace\bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}}}}% \newbibmacro*{chap+as+track}{% \iffieldundef{chapter}% @@ -7705,7 +8216,7 @@ {\printfield{chapter}\clearfield{chapter}% \iffieldundef{booktitle}% {}% - {\addspace\bibstring{on}\setunit{\addspace}}}}% + {\addspace\bibstring[\cms@ofwrap]{on}\setunit{\addspace}}}}% \newbibmacro*{caddendum}{% New macros for 16th ed. field exclusion \ifboolexpr{% @@ -7878,8 +8389,10 @@ {}% \printtext[issuetitle]{% \printfield[itnoformat]{issuetitle}% - \setunit{\subtitlepunct}% - \printfield[sitnoformat]{issuesubtitle}}}} + \iftoggle{cms@reprintfrom}% Complications due to \smartof + {}% + {\setunit{\subtitlepunct}% + \printfield[sitnoformat]{issuesubtitle}}}}} \newbibmacro*{btitle+bstitle}{% \iffieldundef{booktitle}% @@ -8079,7 +8592,7 @@ {\bibstring{origedition}% \setunit{\addspace}% \printlist[edlang]{origlanguage}% - \addcolon% + \addcolon\addspace% \origfullcite{\thefield{userf}}% \usebibmacro{endrelated}% \newunit}% @@ -8128,7 +8641,7 @@ {\ifthenelse{\iffieldundef{pagination}\AND% \iffieldundef{bookpagination}\AND\iffieldundef{eid}}% {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}}% + {\setunit{\journalpagespunct}}}% {\addcomma\addspace}}% {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed. {\newcunit% @@ -8310,7 +8823,7 @@ {\printorigdate}}}% \newbibmacro*{cjournal+ser+vol+num}{% - \usebibmacro{journal+sub}% + \usebibmacro{journal+sub}{in}% \setunit*{\addspace}% \printlist[periodplace]{location}% \setunit*{\addspace}% @@ -8357,7 +8870,7 @@ \setunit{\addcomma\addspace}% need * here? \printfield[journum]{number}}% Move eid field for 17th ed. -\newbibmacro*{journal+sub}{% +\newbibmacro*{journal+sub}[1]{% \iffieldundef{journaltitle}% {}% {\ifboolexpr{% @@ -8375,9 +8888,9 @@ togl {cms@bibjtabb}% )) }% - {\clearlist{location}\printtext[shortjournal]{% + {\clearlist{location}\printtext[#1shortjournal]{% \printfield[jtsnoformat]{shortjournal}}}% - {\printtext[journaltitle]{% + {\printtext[#1journaltitle]{% \printfield[jtnoformat]{journaltitle}% \setunit{\subtitlepunct}% \printfield[sjtnoformat]{journalsubtitle}}}}}% @@ -8467,7 +8980,7 @@ \usebibmacro{cmsyear}}} \newbibmacro*{cmag+date+issue}{% - \usebibmacro{journal+sub}% + \usebibmacro{journal+sub}{in}% \setunit*{\addspace}% \printlist[periodplace]{location}% \newcunit\newblock @@ -8485,7 +8998,7 @@ \usebibmacro{date+issue}} \newbibmacro*{mag+date+issue}{% - \usebibmacro{journal+sub}% + \usebibmacro{journal+sub}{in}% \setunit*{\addspace}% \printlist[periodplace]{location}% \newunit\newblock @@ -8540,6 +9053,8 @@ \newcunit\newblock \usebibmacro{date+issue}} +\def\cms@ofwrap#1{#1} + \newbibmacro*{cmtitle+mstitle+vol+part+title+stitle}{% \iffieldundef{maintitle}% {}% @@ -8557,12 +9072,12 @@ \printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% - \printtext[maintitle]{% - \printfield[mtnoformat]{maintitle}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[smtnoformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}} @@ -8587,12 +9102,12 @@ \printfield{volume}% \printfield{part}% \setunit{\addspace}% - \bibstring{ofseries}% - \setunit{\addspace}% - \printtext[maintitle]{% - \printfield[mtnoformat]{maintitle}% + \bibstring[\cms@ofwrap]{ofseries}% + \iftoggle{smartof}{}{\setunit{\addspace}}% + \printtext[default]{% + \printfield[title:hook:alt]{maintitle}% \setunit{\subtitlepunct}% - \printfield[smtnoformat]{mainsubtitle}}% + \printfield[title]{mainsubtitle}}% \setunit{\ctitleaddonpunct}% \printfield{maintitleaddon}}}} @@ -8747,7 +9262,7 @@ {\iffieldundef{part}% {\ifthenelse{\iffieldnums{pages}\AND% \iffieldundef{bookpagination}\AND\iffieldnums{volume}}% - {\newcunit\printfield[default]{volume}% + {\newcunit\printfield[shortvol]{volume}% \postvolpunct% \printfield{pages}}% {\newcunit\printfield{volume}% @@ -8764,7 +9279,7 @@ {\iffieldundef{part}% {\ifthenelse{\iffieldnums{postnote}\AND% \iffieldundef{pagination}\AND\iffieldnums{volume}}% - {\newcunit\printfield[default]{volume}% + {\newcunit\printfield[shortvol]{volume}% \postvolpunct% \usebibmacro{semel:postnote}}% {\newcunit\printfield{volume}% @@ -8925,7 +9440,7 @@ \iffieldundef{part}% {\ifthenelse{\iffieldnums{pages}\AND% \iffieldundef{bookpagination}\AND\iffieldnums{volume}}% - {\newcunit\printfield[default]{volume}% + {\newcunit\printfield[shortvol]{volume}% \postvolpunct% \printfield{pages}}% {\newcunit\printfield{volume}% @@ -8940,7 +9455,7 @@ \iffieldundef{part}% {\ifthenelse{\iffieldnums{postnote}\AND% \iffieldundef{pagination}\AND\iffieldnums{volume}}% - {\newcunit\printfield[default]{volume}% + {\newcunit\printfield[shortvol]{volume}% \postvolpunct% \usebibmacro{semel:postnote}}% {\newcunit\printfield{volume}% @@ -9003,7 +9518,7 @@ \newbibmacro*{hlpunct}{% \iftoggle{cms@headlessnote}% - {}% + {\iftoggle{cms@reprintfrom}{\setunit{\addspace}}{}}% {\newcunit\newblock}} \newbibmacro*{journalprenote}{% @@ -9115,6 +9630,11 @@ } \AtEndPreamble{% + \iftoggle{cms@inheritshhand}% + {\DeclareDataInheritance{*}{*}{% + \inherit{shorthand}{shorthand} + \inherit{shorthandintro}{shorthandintro} + }}{}% \iftoggle{cms@blogurl}% 17th ed. blogs w/ comments {\DeclareDataInheritance{article}{review,suppperiodical}{% \inherit{url}{url}% @@ -9125,6 +9645,29 @@ {\toggletrue{cms@endnote}\enoteformat} {} {\blx@err@patch{'endnotes' package}}}% + {}% + \iftoggle{cms@strict}% + {\let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0} + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }}% + {}% + \ifboolexpr{% Needed for nameaddon 'first' option in notes + test {\ifdefvoid{\blx@idemtracker}}% + and + togl {cms@subseqnona}% + }% + {\let\blx@idemtracker\blx@idemtracker@context}% {}}% \DeclareDataInheritance{*}{*}{% @@ -9276,7 +9819,7 @@ {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}% {\bibstring{\thefield{editortype}s}}% {\bibstring{\thefield{editortype}}}}% - {\printtext[note]{\thefield{editortype}}}}% + {\printtext[capital]{\thefield{editortype}}}}% \clearname{editor}}% \newbibmacro*{parteditstrg}{% @@ -9311,7 +9854,7 @@ {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}% {\bibstring{\thefield{nameatype}s}}% {\bibstring{\thefield{nameatype}}}}% - {\printtext[note]{\thefield{nameatype}}}}% + {\printtext[capital]{\thefield{nameatype}}}}% \clearname{namea}}% \newbibmacro*{clearorigin}{% @@ -9361,7 +9904,7 @@ \clearfield{titleaddon}% \clearfield{usere}% \clearlist{language}% - \ifentrytype{music}% + \ifthenelse{\ifentrytype{music}\OR\ifentrytype{audio}}% {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}% \clearfield{eventmonth}}% {}}% @@ -9396,6 +9939,11 @@ {\newcunitpunct}% {\newunitpunct}}} +\newcommand*{\relateddelimshort}{% + \ifnumequal{\value{bbx:relatedcount}}{\value{bbx:relatedtotal}}% + {\addsemicolon\addspace\bibstring{and}\space}% + {\addsemicolon\addspace}}% + \newbibmacro*{related:reviewof}[1]{% \iftoggle{cms@shortnote}% {\entrydata*{#1}{% @@ -9555,13 +10103,13 @@ \usebibmacro{at+every+item}% \renewbibmacro*{name:hook}[1]{% \ifnumequal{\value{listcount}}{1}% - {\begingroup - \mkrelatedstring% - \lbx@initnamehook{#1}% - \endgroup} - {}}% + {\begingroup + \mkrelatedstringtext{% + \lbx@initnamehook{##1}}% + \endgroup}% + {}}% \printnames[bytranslator]{translator}% - \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\addspace}% + \setunit*{\addspace\bibstring[\mkrelatedstringtext]{astitle}\addspace}% \clearname{translator}% \usebibmacro{cite:origfull}}}% @@ -9595,7 +10143,9 @@ \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR% \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}% {\iffieldundef{volumes}{}{\savefield*{volumes}{\cms@mtvolumes}}% - \bibstring{in}\nopunct}% + \iftoggle{cms@reprintfrom}% + {}% + {\bibstring{in}\nopunct}}% {\ifcsdef{cms@mtvolumes}{\restorefield{savedvolumes}{\cms@mtvolumes}}{}% \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% {\ifthenelse{\iffieldundef{volumes}\AND\iffieldundef{savedvolumes}}% @@ -9637,8 +10187,12 @@ \ifcsequal{cms@mtnamec}{cms@mtsecnamec}% {\clearname{namec}}% {}}% - {}}% - \ifbibliography% + {}\iftoggle{cms@reprintfrom}{\newcunit}{}}% + \ifboolexpr{% + test {\ifbibliography}% + and + not togl {cms@reprintfrom}% + }% {\printtext[cmsdefrelhypertarget]{% \usedriver% {\ifnameundef{savedauthor}% @@ -9804,102 +10358,91 @@ }% {}% {\midsentence% Why is this kludge necessary? - \setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}% + \setunit{\addspace\bibstring[\mkrelatedstringtext]{bypublisher}\space}% \printlist{publisher}% \setunit{\addcomma\space}% \iflistsequal{location}{savedlocation}% {}% {\printlist{location}}}}} +\newbibmacro*{related:short}[1]{% For cross-refs in bib. + \entrydata*{#1}{% + \toggletrue{cms@noidem}% + \togglefalse{cms@fullnote}% + \toggletrue{cms@shortnote}% + \usebibmacro{cite:short}{\thefield{entrytype}}}}% + \DeclareFieldFormat{title:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{#1}} +\DeclareFieldFormat{title:hook:alt}{% + \iftoggle{cms@reprintmt}% + {\begingroup + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% + \endgroup}% + {\lbx@inittitlehook{#1}}% Inside entries don't use main doc. lang. + \mkbibemph{#1}} + \DeclareFieldFormat{ititle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup - \mkbibquote{#1}} + \iffieldundef{issuesubtitle}% + {\mkbibquote{#1}}% + {\mkbibquote{#1\subtitlepunct\printfield{issuesubtitle}}}} \DeclareFieldFormat{chapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1\addspace\bibstring{in}}% + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{chapter}}% + \bibstring{chapter}~#1\addspace\bibstring{in}}% + \endgroup}% \DeclareFieldFormat{avchapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{chapter}}% + \bibstring{chapter}~#1} + \endgroup}% \DeclareFieldFormat{muschapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{track}}% - \endgroup - \bibstring{track}~#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{track}}% + \bibstring{track}~#1}% + \endgroup} + +\DeclareFieldFormat{volume:hook}{% + \begingroup + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{volume}}% + \bibstring{volume}~#1}% + \endgroup}% + +\DeclareFieldFormat{parttoo:hook}{% + \ifnumerals{#1}% + {\addcomma\addspace\bibstring[\mkrelatedstringtext]{partvolume}~#1}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}} + +\DeclareFieldFormat{part:hook}{% + \begingroup + \ifnumerals{#1}% + {\mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{partvolume}}% + \bibstring{partvolume}~#1}}% + {\mkrelatedstringtext{\lbx@inittitlehook{#1}}% + \ifcapital{\MakeCapital{#1}}{#1}}% + \endgroup} + +\DeclareFieldFormat{shorthand:hook}{% + \lbx@inittitlehook{#1}% + #1} \DeclareFieldFormat{sitnoformat}{#1} \DeclareFieldFormat{sjtnoformat}{#1} @@ -9913,15 +10456,7 @@ \DeclareFieldFormat{btnoformat}{#1} \DeclareFieldFormat{mtnoformat}{#1} -\providetoggle{cms@otherlang} - -\apptocmd\blx@opt@autolang@other% -{\toggletrue{cms@otherlang}}% -{\blx@info@noline{Patching 'autolang=other' option}} -{\PackageWarningNoLine{biblatex-chicago}% - {Upgrading biblatex to >v2.7a recommended,\MessageBreak - especially if you are using the "related"\MessageBreak - functionality}} +\providetoggle{cms@reprintmt} \newbibmacro*{cms:titlehook}{% Needed for full drivers in reprintfrom \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR% @@ -9933,14 +10468,35 @@ {\iffieldundef{booktitle}% {\iffieldundef{journaltitle}% Switched order for 17th ed. {\iffieldundef{maintitle}% - {}% - {\DeclareFieldAlias{mtnoformat}{title:hook}% - \DeclareFieldAlias{smtnoformat}{title}% - \DeclareFieldAlias{maintitle}{default}}}% + {\ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR% + \iffieldequalstr{relatedtype}{maintitlenc}}% + {\DeclareFieldAlias{tnoformat}{title:hook}% + \DeclareFieldAlias{stnoformat}{citetitle}% + \DeclareFieldAlias[video]{title}{default}% + \DeclareFieldAlias[audio]{title}{default}% + \DeclareFieldAlias[music]{title}{default}% + \DeclareFieldAlias{title}{default}% + \DeclareFieldAlias[periodical]{shorttitle}{series}}% + {}}% + {\toggletrue{cms@reprintmt}% + \ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)% + \OR\ifentrytype{inbook}\OR\ifentrytype{incollection}\OR% + \ifentrytype{inproceedings}\OR\ifentrytype{letter}}% + {\DeclareFieldAlias{mtnoformat}{title:hook}% + \DeclareFieldAlias{smtnoformat}{title}% + \DeclareFieldAlias{maintitle}{default}}% + {\iffieldundef{volume}% + {\DeclareFieldAlias{part}{part:hook}% + \let\cms@ofwrap\mkrelatedstringtext}% + {\DeclareFieldAlias{volume}{volume:hook}% + \DeclareFieldAlias{part}{parttoo:hook}% + \let\cms@ofwrap\mkrelatedstringtext}}}}% {\DeclareFieldAlias{jtnoformat}{title:hook}% \DeclareFieldAlias{sjtnoformat}{title}% \DeclareFieldAlias{journaltitle}{default}% + \DeclareFieldAlias{injournaltitle}{default}% \DeclareFieldAlias{shortjournal}{series}% + \DeclareFieldAlias{inshortjournal}{series}% \DeclareFieldAlias{jtsnoformat}{title:hook}}}% {\DeclareFieldAlias{btnoformat}{title:hook}% \DeclareFieldAlias{sbtnoformat}{title}% @@ -9952,16 +10508,16 @@ \DeclareFieldAlias[music]{title}{default}% \DeclareFieldAlias{title}{default}% \DeclareFieldAlias[periodical]{shorttitle}{series}}}% - {\iffieldundef{issuesubtitle}% - {\DeclareFieldAlias{itnoformat}{ititle:hook}% - \DeclareFieldAlias{issuetitle}{default}}% - {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}% + {\DeclareFieldAlias{itnoformat}{ititle:hook}% + \DeclareFieldAlias{issuetitle}{default}}}% {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% {\ifentrytype{music}% - {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}% - {\DeclareFieldAlias{chapter}{avchapter:hook}}}% + {\DeclareFieldAlias[music]{chapter}{muschapter:hook}% + \let\cms@ofwrap\mkrelatedstringtext}% + {\DeclareFieldAlias{chapter}{avchapter:hook}% + \let\cms@ofwrap\mkrelatedstringtext}}% {\DeclareFieldAlias{tnoformat}{title:hook}% \DeclareFieldAlias{stnoformat}{citetitle}% \DeclareFieldAlias[video]{title}{default}% @@ -9983,10 +10539,12 @@ \usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \usebibmacro{clearpublin}\clearfield{shorthand}% + \clearfield{crossref}\clearfield{xref}% + \toggletrue{cms@bookcitexref}\global\toggletrue{cms@reprintfrom}% \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}% \toggletrue{cms@origpublished}\frenchspacing% \usebibmacro{cms:titlehook}}% - {cite:\thefield{entrytype}}}} + {cite:\thefield{entrytype}}}\global\togglefalse{cms@reprintfrom}}% \newbibmacro*{cite:related:full}{% \printtext[cmsdefrelhypertarget]{% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx index 383cc3cd187..e406c5847e8 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.bbx @@ -2,7 +2,7 @@ % standard.bbx It provides the bibliography formatting for the Chicago % notes + bibliography style. -\ProvidesFile{chicago-notes16.bbx}[2020/04/20 v 3.14 biblatex +\ProvidesFile{chicago-notes16.bbx}[2021/03/27 v 3.16 biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -3644,6 +3644,8 @@ bibliography style] %%%% Related functionality from standard.bbx %%%% +\providecommand*{\mkrelatedstringtext}[1]{{{\mainlang #1}}} + \newcounter{bbx:relatedcount} \newcounter{bbx:relatedtotal} @@ -3714,14 +3716,14 @@ bibliography style] test {\ifbibxstring{\thefield{relatedtype}s}}% }% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}s}}}% {\iffieldbibstring{relatedtype}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}}}}% {}}}% {\iffieldbibstring{relatedstring}% {\printtext[\bbx@tempb]{% - \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}% + \bibstring[\mkrelatedstringtext]{\thefield{relatedstring}}}}% {\printfield[\bbx@tempb]{relatedstring}}}% \docsvfield{related}% \usebibmacro{endrelatedloop}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.cbx index bf8060da7fe..ae7e9b1a7a8 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes16.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/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}[2020/04/20 v 3.14 biblatex citation style] +\ProvidesFile{chicago-notes16.cbx}[2021/03/27 v 3.16 biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -1285,13 +1285,7 @@ \ifhyperref% {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}% {}% - \nopunct% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\addspace}{\unspace}}%\unspace Put \nopunct and \unspace here for 0.8e. + \nopunct}%\unspace Put \nopunct and \unspace here for 0.8e. {\usedriver {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% \usebibmacro{clearpublin}\clearfield{shorthand}% @@ -1444,6 +1438,8 @@ \DeclareMultiCiteCommand{\headlessparenshortcites}[\mkbibparens]% {headlessparenshortcite}{\multicitedelim} +\def\cms@cicpunct{}% + %% Textcite commands adapted from verbose.cbx %% \DeclareCiteCommand{\cbx@textcite} @@ -4472,7 +4468,7 @@ {\ifcapital% {\MakeCapital{#1}}% {#1}}% - \addspace}% +}%\addspace %%%% Commands, for users and internal %%%% @@ -5481,8 +5477,10 @@ {}% \printtext[issuetitle]{% \printfield[itnoformat]{issuetitle}% - \setunit{\subtitlepunct}% - \printfield[sitnoformat]{issuesubtitle}}}} + \iftoggle{cms@origpublished}% Complications due to \smartof + {}% + {\setunit{\subtitlepunct}% + \printfield[sitnoformat]{issuesubtitle}}}}} \newbibmacro*{btitle+bstitle}{% \iffieldundef{booktitle}% @@ -6496,7 +6494,7 @@ \newbibmacro*{hlpunct}{% \iftoggle{cms@headlessnote}% - {}% + {\iftoggle{cms@origpublished}{\setunit{\addspace}}{}}% {\newcunit\newblock}} \newbibmacro*{journalprenote}{% @@ -6906,13 +6904,13 @@ \usebibmacro{at+every+item}% \renewbibmacro*{name:hook}[1]{% \ifnumequal{\value{listcount}}{1}% - {\begingroup - \mkrelatedstring% - \lbx@initnamehook{#1}% - \endgroup} - {}}% + {\begingroup + \mkrelatedstringtext{% + \lbx@initnamehook{##1}}% + \endgroup}% + {}}% \printnames[bytranslator]{translator}% - \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\addspace}% + \setunit*{\addspace\bibstring[\mkrelatedstringtext]{astitle}\addspace}% \clearname{translator}% \usebibmacro{cite:origfull}}}% @@ -6991,7 +6989,7 @@ }% {}% {\midsentence% Why is this kludge necessary? - \setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}% + \setunit{\addspace\bibstring[\mkrelatedstringtext]{bypublisher}\space}% \printlist{publisher}% \setunit{\addcomma\space}% \iflistsequal{location}{savedlocation}% @@ -7000,75 +6998,33 @@ \DeclareFieldFormat{title:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup \mkbibemph{#1}} \DeclareFieldFormat{ititle:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{#1}}% \endgroup - \mkbibquote{#1}} + \iffieldundef{issuesubtitle}% + {\mkbibquote{#1}}% + {\mkbibquote{#1\subtitlepunct\printfield{issuesubtitle}}}} \DeclareFieldFormat{chapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1\addspace\bibstring{in}}% + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{chapter}}% + \bibstring{chapter}~#1\addspace\bibstring{in}}% + \endgroup}% \DeclareFieldFormat{avchapter:hook}{% \begingroup - \mkrelatedstring% - \ifboolexpr{% - togl {cms@otherlang}% - and - not test {\iffieldundef{langid}}% - }% - {\unspace}{}% - \ifdefstring{\blx@main@language}{french}% - {}% - {\iftoggle{smartof}% - {\let\lbx@inittitlehook\lbx@fr@smartof}% - {}}% - \lbx@inittitlehook{\bibstring{chapter}}% - \endgroup - \bibstring{chapter}~#1}% + \mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{chapter}}% + \bibstring{chapter}~#1} + \endgroup}% \DeclareFieldFormat{sitnoformat}{#1} \DeclareFieldFormat{sjtnoformat}{#1} @@ -7082,15 +7038,15 @@ \DeclareFieldFormat{btnoformat}{#1} \DeclareFieldFormat{mtnoformat}{#1} -\providetoggle{cms@otherlang} +% \providetoggle{cms@otherlang} -\apptocmd\blx@opt@autolang@other% -{\toggletrue{cms@otherlang}}% -{\blx@info@noline{Patching 'autolang=other' option}} -{\PackageWarningNoLine{biblatex-chicago}% - {Upgrading biblatex to >v2.7a recommended,\MessageBreak - especially if you are using the "related"\MessageBreak - functionality}} +% \apptocmd\blx@opt@autolang@other% +% {\toggletrue{cms@otherlang}}% +% {\blx@info@noline{Patching 'autolang=other' option}} +% {\PackageWarningNoLine{biblatex-chicago}% +% {Upgrading biblatex to >v2.7a recommended,\MessageBreak +% especially if you are using the "related"\MessageBreak +% functionality}} \newbibmacro*{cms:titlehook}{% Needed for full drivers in reprintfrom \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR% @@ -7121,10 +7077,8 @@ \DeclareFieldAlias[music]{title}{default}% \DeclareFieldAlias{title}{default}% \DeclareFieldAlias[periodical]{shorttitle}{series}}}% - {\iffieldundef{issuesubtitle}% - {\DeclareFieldAlias{itnoformat}{ititle:hook}% - \DeclareFieldAlias{issuetitle}{default}}% - {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}% + {\DeclareFieldAlias{itnoformat}{ititle:hook}% + \DeclareFieldAlias{issuetitle}{default}}}% {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR% \ifentrytype{video}}% {\iffieldundef{title}% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx index 3934e01c8f2..27a0cbea6cd 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-american.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-american.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-american.lbx}[2021/03/27 v 3.16 biblatex localization] \InheritBibliographyExtras{american} @@ -9,6 +9,8 @@ \savecommand\mkdaterangecompextra% \savecommand\mkdaterangeterseextra% \savecommand\mkdaterangefullextra% + \savecommand\cms@cicpunct% + \def\cms@cicpunct{\ifcitation{}{\addperiod\printunit{\space\bibsentence}}}% \def\introductionname{Introduction}% \def\sectionname{Section}% \def\subsectionname{Subsection}% @@ -125,6 +127,7 @@ \restorecommand\mkdaterangecompextra% \restorecommand\mkdaterangeterseextra% \restorecommand\mkdaterangefullextra% + \restorecommand\cms@cicpunct% } \DeclareBibliographyStrings{% diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx index 320935b6eb1..eaef1d770db 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-brazilian.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-brazilian.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-brazilian.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Gustavo Barros. diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx index 74db7a87f79..ab14578a30b 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-british.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-british.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-british.lbx}[2021/03/27 v 3.16 biblatex localization] \InheritBibliographyExtras{british} diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx index 662909b8ad3..01f30be3c0c 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-dutch.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-dutch.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-dutch.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Strings provided by native speaker Wouter Lancee. diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx index 571b232b77b..daa43138e1e 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-finnish.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-finnish.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-finnish.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Antti-Juhani Kaijanaho). diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx index c2a6b664921..52c03352bf2 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-french.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-french.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-french.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Some strings still missing @@ -81,9 +81,10 @@ afterwordto = {{postface \`a}{postf\adddot\ \`a}}, forewordto = {{pr\'eface \`a}{pr\'ef\adddot\ \`a}}, introductionto = {{introduction \`a}{introd\adddot\ \`a}}, - partvolume = {{\unspace}{\unspace}}, + partvolume = {{livre}{livre}}, by = {{par}{par}}, of = {{de}{de}}, + ofseries = {{\smartof}{\smartof}}, on = {{sur}{sur}}, compiler = {{comp\adddot}{comp\adddot}}, compilers = {{comp\adddot}{comp\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx index 7bf991606ca..51cdb8dc664 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-german.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-german.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-german.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated strings and formatting decisions need review by native diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx index 0524c160d84..2dd0a86714f 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-icelandic.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-icelandic.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-icelandic.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Baldur Kristinsson). diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx index ac93c989b98..c18325c696f 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-ngerman.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-ngerman.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-ngerman.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated strings and formatting decisions need review by native diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx index 2b53432fb5d..c5b1623efad 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norsk.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-norsk.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-norsk.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). @@ -421,7 +421,7 @@ verses = {{v\adddot}{v\adddot}}, number = {{nr\adddot}{nr\adddot}}, chapter = {{kap\adddot}{kap\adddot}}, - track = {{sporet}{sporet}}, + track = {{spor}{spor}}, cfromamerican = {{fra amerikansk-engelsk av}{fra amerikansk-engelsk av}}, cfrombrazilian = {{fra brasiliansk-portugisisk av}{fra brasiliansk-portugisisk av}}, diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx index fd690c94bfe..9d4e3e4a552 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-norwegian.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-norwegian.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-norwegian.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). @@ -421,7 +421,7 @@ verses = {{v\adddot}{v\adddot}}, number = {{nr\adddot}{nr\adddot}}, chapter = {{kap\adddot}{kap\adddot}}, - track = {{sporet}{sporet}}, + track = {{spor}{spor}}, cfromamerican = {{fra amerikansk-engelsk av}{fra amerikansk-engelsk av}}, cfrombrazilian = {{fra brasiliansk-portugisisk av}{fra brasiliansk-portugisisk av}}, diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx index e5d451151b5..98f4181d6be 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-nynorsk.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-nynorsk.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-nynorsk.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (H{\aa}kon Malmedal). diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-romanian.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-romanian.lbx new file mode 100644 index 00000000000..63a213e0bf8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-romanian.lbx @@ -0,0 +1,758 @@ +\ProvidesFile{cms-romanian.lbx}[2021/03/27 v 3.16 biblatex localization] + +% STATUS OF THIS FILE +% - Strings provided by native speaker Patrick Danilevici, creator of +% - the main romanian.lbx file in biblatex. + +\InheritBibliographyExtras{romanian} + +\DeclareBibliographyExtras{% + \savecommand\mkdaterangecomp% + \savecommand\mkdaterangeterse% + \savecommand\mkdaterangefull% + \savecommand\mkdaterangecompextra% + \savecommand\mkdaterangeterseextra% + \savecommand\mkdaterangefullextra% + \savecommand\cms@datelong% + \savecommand\postvolpunct% + \savecommand\journalpagespunct% + \savecommand\bibdaterangesep% + \toggletrue{cms@postposit}% + \def\introductionname{Introducere}% + \def\sectionname{SecÈ›iune}% + \def\subsectionname{SubsecÈ›iune}% + \def\forewordname{Prefață}% + \def\notesname{Note}% + \protected\def\mkjuridordinal{\mkbibordinal}% + \savefieldformat{postnote}% + \savefieldformat{pages}% + \savefieldformat{shortvol}% + \savefieldformat{jourvol}% + \savefieldformat{injournaltitle}% + \savefieldformat{inshortjournal}% + \savefieldformat{part}% + \savefieldformat{part:hook}% + \savefieldformat{parttoo:hook}% + \renewrobustcmd*{\bibdaterangesep}{\bibrangedash} + \DeclareFieldFormat{postnote}{% + \ifpages{#1}% + {\iffieldequalstr{entrysubtype}{classical}% + {\iftoggle{cms@comprange}% + {\mkcomprange{#1}}% + {\mknormrange{#1}}}% + {\iftoggle{cms@comprange}% + {\mkpageprefix[pagination][\mkcomprange]{#1}}% + {\mkpageprefix[pagination][\mknormrange]{#1}}}}% + {\iffieldequalstr{entrysubtype}{classical}% + {#1}% + {\mkpageprefix[pagination]{#1}}}}% + \DeclareFieldFormat{pages}{% + \ifboolexpr{% + togl {cms@comprange}% + and + test {\ifpages{#1}}% + }% + {\mkpageprefix[bookpagination][\mkcomprange]{#1}}% + {\mkpageprefix[bookpagination]{#1}}}% + \DeclareFieldAlias{shortvol}{volume}% + \DeclareFieldFormat{jourvol}{\addcomma\space\bibstring{volume}\space #1}% + \DeclareFieldFormat{injournaltitle}{% + \ifthenelse{\iffieldundef{issuetitle}\AND\iffieldundef{note}}% + {\bibstring{in}\space\mkbibemph{#1}\isdot}% + {\mkbibemph{#1}\isdot}}% + \DeclareFieldFormat{part}{% + \ifinteger{#1} + {\addcomma\addspace\bibstring{partvolume}~\mkcmsrompart{#1}}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}}% + \DeclareFieldFormat{parttoo:hook}{% + \ifinteger{#1}% + {\addcomma\addspace% + \bibstring[\mkrelatedstringtext]{partvolume}~\mkcmsrompart{#1}}% + {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}}% + \DeclareFieldFormat{part:hook}{% + \begingroup + \ifinteger{#1}% + {\mkrelatedstringtext{% + \lbx@inittitlehook{\bibxstring{partvolume}}% + \bibstring{partvolume}~\mkcmsrompart{#1}}}% + {\mkrelatedstringtext{\lbx@inittitlehook{#1}}% + \ifcapital{\MakeCapital{#1}}{#1}}% + \endgroup}% + \protected\def\mkcmsrompart#1{% + \ifnumgreater{#1}{1} + {\autocap{a}~#1-a} + {#1}}% + \protected\def\cmsmkdecade#1#2{% + \dateeraprintpre{#2year}% + \bibsstring{decade}% + \printdelim{dateaddelim}% + \stripzeros{\thefield{#2year}}% + \cmsdateeraprint{#2endyear}\clearfield{#2endyear}% + \ifbool{cms:extraparens}% + {\usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + {\usebibmacro{cmsextradate}}}% + \protected\def\cmsmkcentury#1{% + \ifnumequal{\thefield{#1year}}{1}% + {}{\dateeraprintpre{#1year}}% + \bibsstring{century}% + \printdelim{dateaddelim}% + \csuse{mkcmscentury}{#1year}% + \cmsdateeraprint{#1endyear}\clearfield{#1endyear}% + \usebibmacro{cmsparensextradate}% + \global\boolfalse{cms:extraparens}}% + \protected\def\mkcmscentury#1{% + \MakeUppercase{\romannumeral\numexpr\thefield{#1}/100+1}-lea}% + \protected\def\mkdaterangecomp{% + \cms@mkbibrangetrunc{long}}% + \protected\def\mkdaterangeterse{% + \cms@mkbibrangetrunc{short}}% + \protected\def\mkdaterangefull{% + \cms@mkbibrangefull}% + \protected\def\mkdaterangecompextra{% + \cms@mkyearrangeextra[]{long}}% + \protected\def\mkdaterangeterseextra{% + \cms@mkyearrangeextra[]{short}}% + \protected\def\mkdaterangefullextra{% + \cms@mkyearrangeextra[1]}% + \def\cms@datelong#1{\csname print#1date\endcsname}% + \renewcommand*{\postvolpunct}{\addcomma\space}% + \renewcommand*{\journalpagespunct}{\addcomma\space}}% + +\UndeclareBibliographyExtras{% + \restorecommand\mkdaterangecomp% + \restorecommand\mkdaterangeterse% + \restorecommand\mkdaterangefull% + \restorecommand\mkdaterangecompextra% + \restorecommand\mkdaterangeterseextra% + \restorecommand\mkdaterangefullextra% + \restorecommand\cms@datelong% + \restorecommand\postvolpunct% + \restorecommand\journalpagespunct% + \restorecommand\bibdaterangesep% + \togglefalse{cms@postposit}% + \restorefieldformat{postnote}% + \restorefieldformat{pages}% + \restorefieldformat{shortvol}% + \restorefieldformat{jourvol}% + \restorefieldformat{injournaltitle}% + \restorefieldformat{inshortjournal}% + \restorefieldformat{part}% + \restorefieldformat{part:hook}% + \restorefieldformat{parttoo:hook}% +} + +\DeclareBibliographyStrings{% + inherit = {romanian}, + afterwordto = {{postfață la}{postf\adddot\space la}}, + forewordto = {{prefață la}{pref\adddot\space la}}, + introductionto = {{introducere la}{introd\adddot\space la}}, + partvolume = {{partea}{partea}}, + by = {{de}{de}}, + of = {{la}{la}}, + on = {{în}{în}}, + compiler = {{red\adddot}{red\adddot}}, + compilers = {{red\adddot}{red\adddot}}, + transcompiler = {{trad\adddot\addspace È™i alcăt\adddot}% + {trad\adddot\addspace È™i alcăt\adddot}}, + transcompilers = {{trad\adddot\addspace È™i alcăt\adddot}% + {trad\adddot\addspace È™i alcăt\adddot}}, + editortranscompiler = {{ed\adddot\addcomma\addspace + trad\adddot\addcomma\addspace È™i alcăt\adddot}% + {ed\adddot\addcomma\addspace + trad\adddot\addcomma\addspace È™i alcăt\adddot}}, + editorcompiler = {{ed\adddot\addspace È™i alcăt\adddot}% + {ed\adddot\addspace È™i alcăt\adddot}}, + editortranslator = {{ed\adddot\addspace È™i trad\adddot}% + {ed\adddot\addspace È™i trad\adddot}}, + editortranscompilers = {{ed\adddot\addcomma\addspace + trad\adddot\addcomma\addspace È™i alcăt\adddot}% + {ed\adddot\addcomma\addspace + trad\adddot\addcomma\addspace È™i alcăt\adddot}}, + editorcompilers = {{ed\adddot\addspace È™i alcăt\adddot}% + {ed\adddot\addspace È™i alcăt\adddot}}, + editortranslators = {{ed\adddot\addspace È™i trad\adddot}% + {ed\adddot\addspace È™i trad\adddot}}, + conductor = {{dirij\adddot}{dirij\adddot}}, + conductors = {{dirij\adddot}{dirij\adddot}}, + director = {{regiz\adddot}{regiz\adddot}}, + directors = {{regiz\adddot}{regiz\adddot}}, + none = {{}{}}, + nones = {{}{}}, + producer = {{prod\adddot}{prod\adddot}}, + producers = {{prod\adddot}{prod\adddot}}, + editor = {{ed\adddot}{ed\adddot}}, + editors = {{ed\adddot}{ed\adddot}}, + choreographer = {{coreogr\adddot}{coreogr\adddot}}, + choreographers = {{coreogr\adddot}{coreogr\adddot}}, + ibidem = {{ibid\adddot}{id\adddot}},% Shorter for legal + origpub = {{publicare originală ca\addspace}% + {pub\adddot\ orig\adddot\ ca\addspace}}, + origpubin = {{prima ediÈ›ie}% + {prima ed\adddot}}, + origpublin = {{publicare originală în\addspace}% + {pub\adddot\ orig\adddot\addspace în\addspace}}, + origpubyear = {{publicare originală în\addspace}% + {pub\adddot\ orig\adddot\addspace}}, + origpubyearalt = {{prima ediÈ›ie\addspace}% + {prima ed\adddot\addspace}}, + origreleaseyear = {{lansare originală în\addspace}% + {lans\adddot\ orig\addspace}}, + origshownyear = {{prezentare originală în\addspace}% + {prez\adddot\ orig\addspace}}, + origedition ={{ediÈ›ie}{ed\adddot}}, + revisededition = {{ed\adddot\addspace reviz\adddot}% + {ed\adddot\addspace reviz\adddot}}, + broadcast = {{difuzare}{difuzare}}, + songrecorded = {{înregistrat}{înregistrat}}, + discrecorded = {{înregistrat}{înregistrat}}, + numbers = {{nr\adddot}{nr\adddot}}, + nodate = {{{}f\adddot d\adddot}{{}f\adddot d\adddot}}, + commonera = {{era noastră}{e\adddot n\adddot}}, %long + beforecommonera= {{înaintea erei noastre}{î\adddot e\adddot n\adddot}}, %long + annodomini = {{Anul Domnului}{AD}}, % long + beforechrist = {{înainte de Hristos}{î\adddot Hr\adddot}}, % long + circa = {{circa}{cca\adddot}}, % long + am = {{am}{a\adddot m\adddot}}, % + pm = {{pm}{p\adddot m\adddot}}, + decade = {{anii}{anii}}, % very good % + century = {{secolul al}{sec\adddotspace al}}, % + pseudonym = {{pseud\adddot}{pseud\adddot}}, + patentfiled = {{depus}{depus}}, + patentissued = {{eliberat}{eliberat}}, + inlang = {{în\addspace}{în\addspace}}, + edamerican = {{engleză}{engleză}}, + edbrazilian = {{braziliană}{braziliană}}, + edbulgarian = {{bulgară}{bulgară}}, + edcatalan = {{catalană}{catalană}}, + edcroatian = {{croată}{croată}}, + edczech = {{cehă}{cehă}}, + eddanish = {{daneză}{daneză}}, + eddutch = {{olandeză}{olandeză}}, + edenglish = {{engleză}{engleză}}, + edestonian = {{estonă}{estonă}}, + edfinnish = {{finlandeză}{finlandeză}}, + edfrench = {{franceză}{franceză}}, + edgalician = {{galeză}{galeză}}, + edgerman = {{germană}{germană}}, + edgreek = {{greacă}{greacă}}, + editalian = {{italiană}{italiană}}, + edjapanese = {{japoneză}{japoneză}}, + edlatin = {{latină}{latină}}, + ednorwegian = {{norvegiană}{norvegiană}}, + edportuguese = {{portugheză}{portugheză}}, + edrussian = {{rusă}{rusă}}, + edslovak = {{slovacă}{slovacă}}, + edslovene = {{slovenă}{slovenă}}, + edspanish = {{spaniolă}{spaniolă}}, + edswedish = {{suedeză}{suedeză}}, + edukrainian = {{ucraineană}{ucraineană}}, + translator = {{trad\adddot}{trad\adddot}}, + translators = {{trad\adddot}{trad\adddot}}, + redactor = {{red\adddot}{red\adddot}}, + redactors = {{red\adddot}{red\adddot}}, + founder = {{fond\adddot}{fond\adddot}}, + founders = {{fond\adddot}{fond\adddot}}, + continuator = {{cont\adddot}{cont\adddot}}, % ? + continuators = {{cont\adddot}{cont\adddot}}, % ? + collaborator = {{colab\adddot}{colab\adddot}}, % ? + collaborators = {{colab\adddot}{colab\adddot}}, % ? + annotator = {{adnot\adddot}{adnot\adddot}}, + annotators = {{adnot\adddot}{adnot\adddot}}, + review = {{recenzie}{recenzie}}, + reviewof = {{recenzie la}{recenzie la}}, + commenton = {{comentariu la}{comentariu la}}, + reprint = {{republicare}{repub\adddot}}, + printed = {{publicare}{publicare}},% 17th ed. + selfpublished = {{publicare personală}{publ\adddot pers\adddot}}, + shorthands = {{Abrevieri}{Abrevieri}}, + newseries = {{s\adddot n\adddot}{s\adddot n\adddot}}, + urlseen = {{accesat}{accesat}}, + cbynone = {{}{}}, + cbyauthor = {{de}{de}}, + cbyeditor = {{ed\adddot}{ed\adddot}}, + cbytranslator = {{trad\adddot\addspace\lbx@cfromlang}% + {trad\adddot\addspace\lbx@cfromlang}}, + cbycompiler = {{alcăt\adddot}{alcăt\adddot}}, + cbyredactor = {{red\adddot}{red\adddot}}, + cbycommentator = {{coment\adddot}{coment\adddot}}, + cbyannotator = {{adnot\addot}{adnot\addot}}, + cbyfounder = {{fond\adddot}{fond\adddot}}, + cbycontinuator = {{cont\adddot}{cont\adddot}}, + cbycollaborator = {{în colab\adddotspace cu}% + {în colab\adddotspace cu}}, + cbyconductor = {{dirij\adddot}{dirij\adddot}}, + cbydirector = {{regiz\adddot}{regiz\adddot}}, + cbyproducer = {{prod\adddot}{prod\adddot}}, + cbychoreographer = {{coreogr\adddot}{coreogr\adddot}}, + cbyeditortr = {{ed\adddot\space È™i + trad\adddot\addspace\lbx@cfromlang}% + {ed\adddot\space È™i trad\adddot\addspace\lbx@cfromlang}}, + cbyeditorcp = {{ed\adddot\space È™i alcăt\adddot}% + {ed\adddot\space È™i alcăt\adddot}}, + cbyeditorco = {{ed\adddot\space È™i coment\adddot}% + {ed\adddot\space È™i coment\adddot}}, + cbyeditoran = {{ed\adddot\space È™i adnot\adddot}% + {ed\adddot\space È™i adnot\adddot}}, + cbyeditorin = {{ed.,\addabbrvspace cu o introducere de}% + {ed.,\addabbrvspace cu o introducere de}}, + cbyeditorfo = {{ed.,\addabbrvspace cu o prefață de}% + {ed.,\addabbrvspace cu o prefață de}}, + cbyeditoraf = {{ed.,\addabbrvspace cu o postfață de}% + {ed.,\addabbrvspace cu o postfață de}}, + cbyeditortrcp = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i + alcăt\adddot}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt\adddot}}, + cbyeditortrco = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i + coment\adddot}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment\adddot}}, + cbyeditortran = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i + adnot\adddot}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot\adddot}}, + cbyeditortrin = {{ed\adddot\space È™i trad.\addspace\lbx@fromlang, + cu o introducere de}% + {ed\adddot\space È™i trad.\addspace\lbx@fromlang, cu + o introducere de}}, + cbyeditortrfo = {{ed\adddot\space È™i trad.\addspace\lbx@fromlang, cu + o prefață de}% + {ed\adddot\space È™i trad.\addspace\lbx@fromlang, cu + o prefață de}}, + cbyeditortraf = {{ed\adddot\space È™i trad.\addspace\lbx@fromlang, cu + o postfață de}% + {ed\adddot\space È™i trad.\addspace\lbx@fromlang, cu + o postfață de}}, + cbyeditorcpco = {{ed.,\addabbrvspace alcăt., È™i coment\adddot}% + {ed.,\addabbrvspace alcăt., È™i coment\adddot}}, + cbyeditorcpan = {{ed.,\addabbrvspace alcăt., È™i adnot\adddot}% + {ed.,\addabbrvspace alcăt., È™i adnot\adddot}}, + cbyeditorcpin = {{ed\adddot\space È™i alcăt., cu o introducere + de}% + {ed\adddot\space È™i alcăt., cu o introducere de}}, + cbyeditorcpfo = {{ed\adddot\space È™i alcăt., cu o prefață de}% + {ed\adddot\space È™i alcăt., cu o prefață de}}, + cbyeditorcpaf = {{ed\adddot\space È™i alcăt., cu o postfață de}% + {ed\adddot\space È™i alcăt., cu o postfață de}}, + cbyeditorcpcoin = {{ed.,\addabbrvspace alcăt., È™i coment., cu o + introducere de}% + {ed.,\addabbrvspace alcăt., È™i coment., cu o introducere de}}, + cbyeditorcpcofo = {{ed.,\addabbrvspace alcăt., È™i coment., cu o + prefață de}% + {ed.,\addabbrvspace alcăt., È™i coment., cu o prefață de}}, + cbyeditorcpcoaf = {{ed.,\addabbrvspace alcăt., È™i coment., cu o + postfață de}% + {ed.,\addabbrvspace alcăt., È™i coment., cu o postfață de}}, + cbyeditorcpanin = {{ed.,\addabbrvspace alcăt., È™i adnot., cu o + introducere de}% + {ed.,\addabbrvspace alcăt., È™i adnot., cu o introducere de}}, + cbyeditorcpanfo = {{ed.,\addabbrvspace alcăt., È™i adnot., cu o + prefață de}% + {ed.,\addabbrvspace alcăt., È™i adnot., cu o prefață de}}, + cbyeditorcpanaf = {{ed.,\addabbrvspace alcăt., È™i adnot., cu o + postfață de}% + {ed.,\addabbrvspace alcăt., È™i adnot., cu o postfață de}}, + cbyeditortrcpco = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i coment\adddot}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment\adddot}}, + cbyeditortrcpan = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i adnot\adddot}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot\adddot}}, + cbyeditortrcpin = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i + alcăt., cu o introducere de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt., + cu o introducere de}}, + cbyeditortrcpfo = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i + alcăt., cu o prefață de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt., + cu o prefață de}}, + cbyeditortrcpaf = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i + alcăt., cu o postfață de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt., + cu o postfață de}}, + cbyeditortrcpcoin = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i coment., cu o introducere de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment., cu o introducere de}}, + cbyeditortrcpcofo = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i coment., cu o prefață de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment.,cu o prefață de}}, + cbyeditortrcpcoaf = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i coment., cu o postfață de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment., cu o postfață de}}, + cbyeditortrcpanin = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i adnot., cu o introducere de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot., cu o introducere de}}, + cbyeditortrcpanfo = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i adnot., cu o prefață de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot., cu o prefață de}}, + cbyeditortrcpanaf = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang, + alcăt., È™i adnot., cu o postfață de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot., cu o postfață de}}, + cbyeditorcoin = {{ed\adddot\space È™i coment., cu o introducere de}% + {ed\adddot\space È™i coment., cu o introducere de}}, + cbyeditorcofo = {{ed\adddot\space È™i coment., cu o prefață de}% + {ed\adddot\space È™i coment., cu o prefață de}}, + cbyeditorcoaf = {{ed\adddot\space È™i coment., cu o postfață de}% + {ed\adddot\space È™i coment., cu o postfață de}}, + cbyeditoranin = {{ed\adddot\space È™i adnot., cu o introducere de}% + {ed\adddot\space È™i adnot., cu o introducere de}}, + cbyeditoranfo = {{ed\adddot\space È™i adnot., cu o prefață de}% + {ed\adddot\space È™i adnot., cu o prefață de}}, + cbyeditoranaf = {{ed\adddot\space È™i adnot., cu o postfață de}% + {ed\adddot\space È™i adnot., cu o postfață de}}, + cbyeditortrcoin = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment., cu + o introducere de}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment., cu + o introducere de}}, + cbyeditortrcofo = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment., cu + o prefață de}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment., cu + o prefață de}}, + cbyeditortrcoaf = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment., cu + o postfață de}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i coment., cu + o postfață de}}, + cbyeditortranin = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot., cu + o introducere de}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot., cu + o introducere de}}, + cbyeditortranfo = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot., cu + o prefață de}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot., cu + o prefață de}}, + cbyeditortranaf = {{ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot., cu + o postfață de}% + {ed.,\addabbrvspace + trad\adddot\addspace\lbx@fromlang\finalandcomma\space È™i adnot., cu + o postfață de}}, + cbytranslatorcp = {{trad\adddot\addspace\lbx@fromlang\ È™i alcăt\adddot}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt\adddot}}, + cbytranslatorco = {{trad\adddot\addspace\lbx@fromlang\ È™i coment\adddot}% + {trad\adddot\addspace\lbx@fromlang\ È™i coment\adddot}}, + cbytranslatoran = {{trad\adddot\addspace\lbx@fromlang\ È™i adnot\adddot}% + {trad\adddot\addspace\lbx@fromlang\ È™i adnot\adddot}}, + cbytranslatorin = {{trad\adddot\addspace\lbx@fromlang, cu o + introducere de}% + {trad\adddot\addspace\lbx@fromlang, cu o introducere de}}, + cbytranslatorfo = {{trad\adddot\addspace\lbx@fromlang, cu o + prefață de}% + {trad\adddot\addspace\lbx@fromlang, cu o prefață de}}, + cbytranslatoraf = {{trad\adddot\addspace\lbx@fromlang, cu o + postfață de}% + {trad\adddot\addspace\lbx@fromlang, cu o postfață de}}, + cbytranslatorcoin = {{trad\adddot\addspace\lbx@fromlang\ È™i coment., + cu o introducere de}% + {trad\adddot\addspace\lbx@fromlang\ È™i coment., cu o introducere de}}, + cbytranslatorcofo = {{trad\adddot\addspace\lbx@fromlang\ È™i coment., + cu o prefață de}% + {trad\adddot\addspace\lbx@fromlang\ È™i coment., cu o prefață de}}, + cbytranslatorcoaf = {{trad\adddot\addspace\lbx@fromlang\ È™i coment., + cu o postfață de}% + {trad\adddot\addspace\lbx@fromlang\ È™i coment., cu o postfață de}}, + cbytranslatoranin = {{trad\adddot\addspace\lbx@fromlang\ È™i adnot., + cu o introducere de}% + {trad\adddot\addspace\lbx@fromlang\ È™i adnot., cu o introducere de}}, + cbytranslatoranfo = {{trad\adddot\addspace\lbx@fromlang\ È™i adnot., + cu o prefață de}% + {trad\adddot\addspace\lbx@fromlang\ È™i adnot., cu o prefață de}}, + cbytranslatoranaf = {{trad\adddot\addspace\lbx@fromlang\ È™i adnot., + cu o postfață de}% + {trad\adddot\addspace\lbx@fromlang\ È™i adnot., cu o postfață de}}, + cbytranslatorcpco = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + coment\adddot}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment\adddot}}, + cbytranslatorcpan = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + adnot\adddot}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot\adddot}}, + cbytranslatorcpin = {{trad\adddot\addspace\lbx@fromlang\ È™i alcăt., + cu o introducere de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt., cu o introducere de}}, + cbytranslatorcpfo = {{trad\adddot\addspace\lbx@fromlang\ È™i alcăt., + cu o prefață de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt., cu o prefață de}}, + cbytranslatorcpaf = {{trad\adddot\addspace\lbx@fromlang\ È™i alcăt., + cu o postfață de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt., cu o postfață de}}, + cbytranslatorcpcoin = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + coment., cu o introducere de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment., + cu o introducere de}}, + cbytranslatorcpcofo = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + coment., cu o prefață de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment., + cu o prefață de}}, + cbytranslatorcpcoaf = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + coment., cu o postfață de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment., + cu o postfață de}}, + cbytranslatorcpanin = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + adnot., cu o introducere de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot., + cu o introducere de}}, + cbytranslatorcpanfo = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + adnot., cu o prefață de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot., + cu o prefață de}}, + cbytranslatorcpanaf = {{trad\adddot\addspace\lbx@fromlang, alcăt., È™i + adnot., cu o postfață de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot., + cu o postfață de}}, + cbycompilerco = {{alcăt\adddot\space È™i coment\adddot}% + {alcăt\adddot\space È™i coment\adddot}}, + cbycompileran = {{alcăt\adddot\space È™i adnot\adddot}% + {alcăt\adddot\space È™i adnot\adddot}}, + cbycompilerin = {{alcăt.,\addabbrvspace cu o introducere de}% + {alcăt.,\addabbrvspace cu o introducere de}}, + cbycompilerfo = {{alcăt.,\addabbrvspace cu o prefață de}% + {alcăt.,\addabbrvspace cu o prefață de}}, + cbycompileraf = {{alcăt.,\addabbrvspace cu o postfață de}% + {alcăt.,\addabbrvspace cu o postfață de}}, + cbycompilercoin = {{alcăt\adddot\space È™i coment., cu o + introducere de}% + {alcăt\adddot\space È™i coment., cu o introducere de}}, + cbycompilercofo = {{alcăt\adddot\space È™i coment., cu o prefață de}% + {alcăt\adddot\space È™i coment., cu o prefață de}}, + cbycompilercoaf = {{alcăt\adddot\space È™i coment., cu o postfață de}% + {alcăt\adddot\space È™i coment., cu o postfață de}}, + cbycompileranin = {{alcăt\adddot\space È™i adnot., cu o + introducere de}% + {alcăt\adddot\space È™i adnot., cu o introducere de}}, + cbycompileranfo = {{alcăt\adddot\space È™i adnot., cu o prefață de}% + {alcăt\adddot\space È™i adnot., cu o prefață de}}, + cbycompileranaf = {{alcăt\adddot\space È™i adnot., cu o postfață de}% + {alcăt\adddot\space È™i adnot., cu o postfață de}}, + volume = {{vol\adddot}{vol\adddot}}, + volumes = {{vol\adddot}{vol\adddot}}, + jourvol = {{vol\adddot}{vol\adddot}}, + jourser = {{ser\adddot}{ser\adddot}}, + oldseries = {{s\adddot a\adddot}{s\adddot a\adddot}}, + edition = {{ed\adddot}{ed\adddot}}, + version = {{versiune}{v\adddot}}, + page = {{p\adddot}{p\adddot}}, + pages = {{pp\adddot}{pp\adddot}}, + column = {{col\adddot}{col\adddot}}, + columns = {{col\adddot}{col\adddot}}, + line = {{linie}{linie}}, + lines = {{linii}{linii}}, + paragraph = {{\P}{\P}}, + paragraphs = {{\P\P}{\P\P}}, + section = {{\S}{\S}}, + sections = {{\S\S}{\S\S}}, + subsection = {{\S}{\S}}, + subsections = {{\S\S}{\S\S}}, + preface = {{prefață}{pref\adddot}}, + note = {{notă}{n\adddot}}, + canadasection = {{s\adddot}{s\adddot}},% For legal citations + canadasections = {{s\adddot}{s\adddot}},% ditto + supranote = {{\mkbibemph{supra}\addspace notă\addnbspace}% ditto + {\mkbibemph{supra}\addspace n\adddotspace}}, + hereinafter = {{în continuare}{în continuare}}, + subverbo = {{s\adddot v\adddot}{s\adddot v\adddot}}, + subverbis = {{s\adddot vv\adddot}{s\adddot vv\adddot}}, + verse = {{v\adddot}{v\adddot}}, + verses = {{v\adddot}{v\adddot}}, + number = {{nr\adddot}{nr\adddot}}, + chapter = {{cap\adddot}{cap\adddot}},% + part = {{parte}{part\adddot}},% for legal citations + track = {{pista}{pista}}, + mathesis = {{teză de dizeraÈ›ie}{teză de dizeraÈ›ie}}, + phdthesis = {{teză de doct\adddot}{teză de doct\adddot}}, + techreport = {{raport tehnic}{raport tehnic}}, + cfromamerican = {{din engleză de}{din engleză de}}, + cfrombrazilian = {{din braziliană de}{din braziliană + de}}, + cfrombulgarian = {{din bulgară de}{din bulgară de}}, + cfromcatalan = {{din catalană de}{din catalană de}}, + cfromcroatian = {{din croată de}{din croată de}}, + cfromczech = {{din cehă de}{din cehă de}}, + cfromdanish = {{din daneză de}{din daneză de}}, + cfromdutch = {{din olandeză de}{din olandeză de}}, + cfromenglish = {{din engleză de}{din engleză de}}, + cfromestonian = {{din estonă de}{din estonă de}}, + cfromfinnish = {{din finlandeză de}{din finlandeză de}}, + cfromfrench = {{din franceză de}{din franceză de}}, + cfromgalician = {{din galeză de}{din galeză de}}, + cfromgerman = {{din germană de}{din germană de}}, + cfromgreek = {{din greacă de}{din greacă de}}, + cfromitalian = {{din italiană de}{din italiană de}}, + cfromjapanese = {{din japoneză de}{din japoneză de}}, + cfromlatin = {{din latină de}{din latină de}}, + cfromnorwegian = {{din norvegiană de}{din norvegiană + de}}, + cfrompolish = {{din poloneză de}{din poloneză de}}, + cfromportuguese = {{din portugheză de}{din portugheză + de}}, + cfromrussian = {{din rusă de}{din rusă de}}, + cfromslovak = {{din slovacă de}{din slovacă de}}, + cfromslovene = {{din slovenă de}{din slovenă de}}, + cfromspanish = {{din spaniolă de}{din spaniolă de}}, + cfromswedish = {{din suedeză de}{din suedeză de}}, + cfromukrainian = {{din ucraineană de}{din ucraineană de}}, + bynone = {{}{}}, + bycompiler = {{alcătuire de}{alcăt\adddot}}, + byconductor = {{dirijat de}{dirij\adddot}}, + bydirector = {{regizat de}{regiz\adddot}}, + byproducer = {{produs de}{prod\adddot}}, + bychoreographer = {{coreografie de}{coreogr\adddot}}, + byeditorcp = {{editare È™i alcătuire de}{ed\adddot\space È™i alcăt\adddot}}, + byeditortrcp = {{editare, traducere \lbx@fromlang, È™i alcătuire de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt\adddot}}, + byeditortrcpco = {{editare, traducere \lbx@fromlang, alcătuire, È™i + comentarii de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment\adddot}}, + byeditortrcpan = {{editare, traducere \lbx@fromlang, alcătuire, È™i + adnotări de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot\adddot}}, + byeditortrcpin = {{editare, traducere \lbx@fromlang, È™i alcătuire, cu + o introducere, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt\adddot, + cu o introducere, de}}, + byeditortrcpfo = {{editare, traducere \lbx@fromlang, È™i alcătuire, cu o + prefață, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt\adddot, + cu o prefață, de}}, + byeditortrcpaf = {{editare, traducere \lbx@fromlang, È™i alcătuire, cu + o postfață, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, È™i alcăt\adddot, + cu o postfață, de}}, + byeditortrcpcoin = {{editare, traducere \lbx@fromlang, alcătuire, È™i + comentarii, cu o introducere, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment\adddot, cu o introducere, de}}, + byeditortrcpcofo = {{editare, traducere \lbx@fromlang, alcătuire, È™i + comentarii, cu o prefață, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment\adddot, cu o prefață, de}}, + byeditortrcpcoaf = {{editare, traducere \lbx@fromlang, alcătuire, È™i + comentarii, cu o postfață, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i coment\adddot, cu o postfață, de}}, + byeditortrcpanin = {{editare, traducere \lbx@fromlang, alcătuire, È™i + adnotări, cu o introducere, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot\adddot, cu o introducere, de}}, + byeditortrcpanfo = {{editare, traducere \lbx@fromlang, alcătuire, È™i + adnotări, cu o prefață, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot\adddot, cu o prefață, de}}, + byeditortrcpanaf = {{editare, traducere \lbx@fromlang, alcătuire, È™i + adnotări, cu o postfață, de}% + {ed.,\addabbrvspace trad.\addspace\lbx@fromlang, alcăt., + È™i adnot\adddot, cu o postfață, de}}, + byeditorcpco = {{editare, alcătuire, È™i comentarii de}% + {ed.,\addabbrvspace alcăt., È™i coment\adddot}}, + byeditorcpan = {{editare, alcătuire, È™i adnotări de}% + {ed.,\addabbrvspace alcăt., È™i adnot\adddot}}, + byeditorcpin = {{editare È™i alcătuire, cu o introducere, de}% + {ed\adddot\space È™i alcăt., cu o introducere, de}}, + byeditorcpfo = {{editare È™i alcătuire, cu o prefață, de}% + {ed\adddot\space È™i alcăt., cu o prefață, de}}, + byeditorcpaf = {{editare È™i alcătuire, cu o postfață, de}% + {ed\adddot\space È™i alcăt., cu o postfață, de}}, + byeditorcpcoin = {{editare, alcătuire, È™i comentarii, cu o + introducere, de}% + {ed.,\addabbrvspace alcăt., È™i coment., cu o introducere, de}}, + byeditorcpcofo = {{editare, alcătuire, È™i comentarii, cu o prefață, + de}% + {ed.,\addabbrvspace alcăt., È™i coment., cu o prefață, de}}, + byeditorcpcoaf = {{editare, alcătuire, È™i comentarii, cu o + postfață, de}% + {ed.,\addabbrvspace alcăt., È™i coment., cu o postfață, de}}, + byeditorcpanin = {{editare, alcătuire, È™i adnotări, cu o + introducere, de}% + {ed.,\addabbrvspace alcăt., È™i adnot., cu o introducere, de}}, + byeditorcpanfo = {{editare, alcătuire, È™i adnotări, cu o prefață, + de}% + {ed.,\addabbrvspace alcăt., È™i adnot., cu o prefață, de}}, + byeditorcpanaf = {{editare, alcătuire, È™i adnotări, cu o + postfață, de}% + {ed.,\addabbrvspace alcăt., È™i adnot., cu o postfață, de}}, + bytranslatorcp = {{traducere \lbx@fromlang\ È™i alcătuire de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt\adddot}}, + bytranslatorcpco = {{traducere \lbx@fromlang, alcătuire, È™i + comentarii de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment\adddot}}, + bytranslatorcpan = {{traducere \lbx@fromlang, alcătuire, È™i + adnotări de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot\adddot}}, + bytranslatorcpin = {{traducere \lbx@fromlang\ È™i alcătuire, cu o + introducere, de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt., cu o introducere, de}}, + bytranslatorcpfo = {{traducere \lbx@fromlang\ È™i alcătuire, cu o + prefață, de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt., cu o prefață, de}}, + bytranslatorcpaf = {{traducere \lbx@fromlang\ È™i alcătuire, cu o + postfață, de}% + {trad\adddot\addspace\lbx@fromlang\ È™i alcăt., cu o postfață, de}}, + bytranslatorcpcoin = {{traducere \lbx@fromlang, alcătuire, È™i comentarii, + cu o introducere, de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment., cu o + introducere, de}}, + bytranslatorcpcofo = {{traducere \lbx@fromlang, alcătuire, È™i comentarii, + cu o prefață, de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment., + cu o prefață, de}}, + bytranslatorcpcoaf = {{traducere \lbx@fromlang, alcătuire, È™i comentarii, + cu o postfață, de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i coment., cu o + postfață, de}}, + bytranslatorcpanin = {{traducere \lbx@fromlang, alcătuire, È™i adnotări, + cu o introducere, de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot., cu o + introducere, de}}, + bytranslatorcpanfo = {{traducere \lbx@fromlang, alcătuire, È™i adnotări, + cu o prefață, de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot., + cu o prefață, de}}, + bytranslatorcpanaf = {{traducere \lbx@fromlang, alcătuire, È™i adnotări, + cu o postfață, de}% + {trad\adddot\addspace\lbx@fromlang, alcăt., È™i adnot., + cu o postfață, de}}, + bycompilerco = {{alcătuire È™i comentarii de}% + {alcăt\adddot\space È™i coment\adddot}}, + bycompileran = {{alcătuire È™i adnotări de}% + {alcăt\adddot\space È™i adnot\adddot}}, + bycompilerin = {{alcătuire, cu o introducere, de}% + {alcăt\adddot, cu o introducere, de}}, + bycompilerfo = {{alcătuire, cu o prefață, de}% + {alcăt\adddot, cu o prefață, de}}, + bycompileraf = {{alcătuire, cu o postfață, de}% + {alcăt\adddot, cu o postfață, de}}, + bycompilercoin = {{alcătuire È™i comentarii, cu o introducere, de}% + {alcăt\adddot\space È™i coment\adddot, cu o introducere, de}}, + bycompilercofo = {{alcătuire È™i comentarii, cu o prefață, de}% + {alcăt\adddot\space È™i coment\adddot, cu o prefață, de}}, + bycompilercoaf = {{alcătuire È™i comentarii, with an afterword, de}% + {alcăt\adddot\space È™i coment\adddot, cu o postfață, de}}, + bycompileranin = {{alcătuire È™i adnotări, cu o introducere, de}% + {alcăt\adddot\space È™i adnot\adddot, cu o introducere, de}}, + bycompileranfo = {{alcătuire È™i adnotări, cu o prefață, de}% + {alcăt\adddot\space È™i adnot\adddot, cu o prefață, de}}, + bycompileranaf = {{alcătuire È™i adnotări, cu o postfață, de}% + {alcăt\adddot\space ÅŸi adnot\adddot, cu o postfață, de}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx index 87c3d962687..7b7dde6e1d1 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cms-swedish.lbx @@ -1,4 +1,4 @@ -\ProvidesFile{cms-swedish.lbx}[2020/04/20 v 3.14 biblatex localization] +\ProvidesFile{cms-swedish.lbx}[2021/03/27 v 3.16 biblatex localization] % STATUS OF THIS FILE % - Translated by a native speaker (Stefan Bj\"{o}rk). diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty index 08cb5f61db7..317fcb1c393 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsdocs.sty @@ -374,7 +374,7 @@ \hyperlink{\getrefbykeydefault{#1}{anchor}{}}% {\texttt{#1}}} -\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep% +\DeclareFieldFormat{annotation}{%\addperiod\par\nobreak \vskip \bibitemsep% \hyperlink{\getrefbykeydefault{\cmsdoc@entrykey}{anchor}{}}% {\small{\textbf{[\cmsdocref@entry]\addspace}}}\small#1} @@ -382,7 +382,7 @@ %%% biblatex-chicago.pdf. \newrobustcmd*{\cmssecref}[2][]{\marginpar{\href{\@baseurl% - \getrefbykeydefault{#2}{anchor}{}}{\small §\,\getrefnumber{#2}}% + \getrefbykeydefault{#2}{anchor}{}}{\small \S\,\getrefnumber{#2}}% \ifblank{#1}{}{\scriptsize,\, s.v.\\[1pt]\enquote{#1}}}} \newrobustcmd*{\cmspagref}[1]{\marginpar{\href{\@baseurl% page.\getpagerefnumber{#1}}{p.~\getpagerefnumber{#1}}}} diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty index 5f6d430831b..84425e11dd6 100644 --- a/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/cmsendnotes.sty @@ -1,6 +1,6 @@ % Copyright (c) 2003 John Lavagnino % 2003 Ulrich Dirr -% 2020 David Fussner +% 2020-2021 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}[2020/04/20 v 3.14 biblatex auxiliary package] +\ProvidesPackage{cmsendnotes}[2021/03/27 v 3.16 biblatex auxiliary package] \RequirePackage{kvoptions} \RequirePackage{endnotes} |