summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-20 21:05:08 +0000
committerKarl Berry <karl@freefriends.org>2020-04-20 21:05:08 +0000
commit24c953dcb93919a65e5830191614a1f7538616c7 (patch)
tree4294e1d5a329fc8c1b9ef49cb6b817b9fe51fc7a /Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx
parentfd4bc79730244980c6fff55f3487edd94a88b15b (diff)
biblatex-chicago (20apr20)
git-svn-id: svn://tug.org/texlive/trunk@54809 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx2433
1 files changed, 1867 insertions, 566 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx
index 7032fd8b019..b5e787803e6 100644
--- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate.bbx
@@ -1,10 +1,8 @@
-% $Id: chicago-authordate.bbx,v 0.9.1.13 2018/01/11 09:25:52 dfussner Exp $
-
-% This is a biblatex style file, adapted mainly from Lehman's
-% standard.bbx and from chicago-notes.bbx. It provides the
+% This is a biblatex style file, originally adapted mainly from
+% Lehman's standard.bbx and from chicago-notes.bbx. It provides the
% reference list formatting for the Chicago author-date style.
-\ProvidesFile{chicago-authordate.bbx}[2018/01/11 v 3.10 biblatex
+\ProvidesFile{chicago-authordate.bbx}[2020/04/20 v 3.14 biblatex
bibliography style]
%%%% Initialize and format bibliography and los %%%%
@@ -14,7 +12,13 @@ bibliography style]
\DeclareFieldFormat{shorthandwidth}{#1}
-\DeclareFieldFormat{shortjournalwidth}{\mkbibemph{\textbf{#1}}\isdot}
+\DeclareFieldFormat{shortserieswidth}{#1}
+
+\DeclareFieldFormat{shortjournalwidth}{%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR%
+ \ifentrytype{legal}\OR\ifentrytype{legislation}}%
+ {\textbf{#1}\isdot}%
+ {\mkbibemph{\textbf{#1}}\isdot}}%
\newlength{\lositemsep}
@@ -28,19 +32,6 @@ bibliography style]
{\endlist}
{\item}
-\defbibenvironment{shorthands}% biblatex < 2.9
- {\list
- {\printfield[shorthandwidth]{shorthand}}%
- {\setlength{\labelwidth}{\shorthandwidth}%
- \setlength{\leftmargin}{\labelwidth}%
- \setlength{\labelsep}{\biblabelsep}%
- \addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\lositemsep}%
- \setlength{\parsep}{\bibparsep}%
- \renewcommand*{\makelabel}[1]{##1\hss}}}
- {\endlist}
- {\item}
-
\defbibenvironment{shorthand}
{\list
{\printfield[shorthandwidth]{shorthand}}%
@@ -123,6 +114,15 @@ bibliography style]
{\endlist\nopunct\vspace{-\baselineskip}}
{\item}
+\defbibcheck{shorthand}{%
+ \iftoggle{cms@los}%
+ {\iffieldundef{shorthand}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shorthand}}%
+ {\skipentry}%
+ {\savefieldcs{shorthand}{\strfield{shorthand}}}}}%
+ {}}%
+
\defbibcheck{shortjournal}{% Only one list
\iffieldundef{shortjournal}%
{\skipentry}%
@@ -138,20 +138,65 @@ bibliography style]
% {\savefield{shortjournal}{\cms@shjour}}}%
% {\savefield{shortjournal}{\cms@shjour}}}
+\defbibenvironment{shortseries}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.7\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shsernotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shserendnotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}
+ {\item}
+
+\defbibcheck{shortseries}{% Only one list
+ \ifthenelse{\iffieldundef{shortseries}\OR%
+ \iffieldundef{series}\OR%
+ \iffieldsequal{series}{shortseries}}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shortseries}}%
+ {\skipentry}%
+ {\savefieldcs{shortseries}%
+ {\strfield{shortseries}}}}}%
+
\AtBeginBibliography{%
\togglefalse{cms@headlessnote}}%
\AtEveryBibitem{%
- \global\csundef{@cmsst}%
- \iffieldequalstr{pubstate}{reprint}%
- {\toggletrue{cms@reprint}}%
- {\togglefalse{cms@reprint}}}%
+ \global\csundef{@cmsst}}%
\AtEveryLositem{%
- \global\csundef{@cmsst}%
- \iffieldequalstr{pubstate}{reprint}%
- {\toggletrue{cms@reprint}}%
- {\togglefalse{cms@reprint}}}%
+ \global\csundef{@cmsst}}%
\AtEveryBiblistitem{shortjournal}{%
\global\csundef{@cmsst}%
@@ -234,7 +279,7 @@ bibliography style]
and
test {\ifdefvoid{#3}}%
}%
- {}{\revsdnamepunct}%
+ {}{\revsdnamepunct}%
\ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
\ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}%
\ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}%
@@ -290,28 +335,50 @@ bibliography style]
\newbibmacro*{justauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\let\bbx@lasthash\undefined}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}%
+ \ifentrytype{customc}%
+ {\newunit}%
+ {\setunit{\addspace}}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
- {\printnames{author}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames{author}%
+ \ifentrytype{customc}{}%
+ {\setunit{\addspace}\printfield{nameaddon}}\bibcloseparen%
+ \ifentrytype{customc}%
+ {\newunit\printfield{nameaddon}}%
+ {}}%
+ {\printnames{author}%
+ \ifentrytype{customc}{\newunit}{\setunit{\addspace}}%
+ \printfield{nameaddon}}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{moreauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\usebibmacro{pickeditor}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
@@ -319,8 +386,11 @@ bibliography style]
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\iftoggle{cms@authorparens}%
- {\bibopenparen\printnames{author}\bibcloseparen}%
- {\printnames{author}}%
+ {\bibopenparen\printnames{author}%
+ \setunit{\addspace}\printfield{nameaddon}\bibcloseparen}%
+ {\printnames{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{pickeditor}{%
@@ -331,15 +401,26 @@ bibliography style]
\newbibmacro*{moreeditor}{%
\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames{editor}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\editordelim}%
- {\printnames{editor}\editordelim}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}%
\savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{editstrg}}}
+ \usebibmacro{editstrg}}}%
\renewbibmacro*{editor}{%
\iftoggle{cms@headlessnote}%
@@ -347,35 +428,68 @@ bibliography style]
{\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
{\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames{editor}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\editordelim}%
- {\printnames{editor}\editordelim}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{editstrg}}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{namea}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parteditstrg}}}}
\newbibmacro*{parteditor}{%
\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addcomma}%
+ \printfield{nameaddon}\nameadelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{namea}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parteditstrg}}}
@@ -387,39 +501,72 @@ bibliography style]
\newbibmacro*{moretranslator}{%
\ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}%
{\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{translator}%
- \bibcloseparen\addcomma\addspace}%
- {\printnames[sortname]{translator}\addcomma\addspace}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{translator}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{transstrg}}}
\newbibmacro*{parttranslator}{%
\ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
{\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{nameb}%
- \bibcloseparen\addcomma\addspace}%
- {\printnames[sortname]{nameb}\addcomma\addspace}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{nameb}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parttransstrg}}}
\newbibmacro*{compiler}{%
\ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}%
{\let\bbx@lasthash\undefined}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addcomma}%
+ \printfield{nameaddon}\newcunit}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{namec}%
- \bibcloseparen\addcomma\addspace}%
- {\printnames[sortname]{namec}\addcomma\addspace}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{namec}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{compilestrg}}}
@@ -439,34 +586,20 @@ bibliography style]
\usebibmacro{shorthand:label}}%
{\mkbibemph{\bibstring{see}}%
\addspace%
- \usebibmacro{author/editor}}%
- \finentry}%
- {\iftoggle{cms@fullshhand}%
- {\usedriver{\frenchspacing}%
- {\thefield{entrytype}}%
- \finentry}%
- {\ifnameundef{labelname}%
- {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
- \ifentrytype{periodical}}%
- {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}%
- \newcunit}}%
- {\ifentrytype{manual}%
- {\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
- {}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\space}}%
- \printfield[lostitle]{title}%
- \finentry}}}
-
-\DeclareBibliographyDriver{shorthands}{% biblatex < 2.9
- \iftoggle{cms@los}%
- {\ifnameundef{labelname}%
- {\mkbibemph{\bibstring{see}}%
- \addspace%
- \usebibmacro{shorthand:label}}%
- {\mkbibemph{\bibstring{see}}%
- \addspace%
- \usebibmacro{author/editor}}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{labelnamesource}{shortauthor}}%
+ and
+ (
+ test {\ifentrytype{manual}}%
+ or
+ test {\ifentrytype{standard}}%
+ )
+ }%
+ {\printnames{\thefield{labelnamesource}}}%
+ {\ifentrytype{customc}%
+ {\clearfield{nameaddon}}%
+ {}%
+ \usebibmacro{author/editor}}}%
\finentry}%
{\iftoggle{cms@fullshhand}%
{\usedriver{\frenchspacing}%
@@ -480,8 +613,19 @@ bibliography style]
{\ifentrytype{manual}%
{\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
{}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\space}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{labelnamesource}{shortauthor}}%
+ and
+ (
+ test {\ifentrytype{manual}}%
+ or
+ test {\ifentrytype{standard}}%
+ )
+ }%
+ {\printnames{\thefield{labelnamesource}}\newunit}%
+ {\ifentrytype{customc}%
+ {\usebibmacro{justauthor}\setunit{\addspace}}%
+ {\usebibmacro{author/editor}\newunit}}}%
\printfield[lostitle]{title}%
\finentry}}}
@@ -501,6 +645,9 @@ bibliography style]
\printlist[periodplace]{location}}%
\finentry}%
+\DeclareBibliographyDriver{shortseries}{%
+ \printfield{series}\finentry}
+
\DeclareStyleSourcemap{
\maps[datatype=bibtex]{
\map{
@@ -509,9 +656,11 @@ bibliography style]
\step[fieldset=shortjournal, origfieldval]
}
\map{
- \step[fieldsource=pubstate, match={forthcoming}, final]
+ \step[fieldsource=pubstate,
+ match=\regexp{forthcoming|inpreparation|submitted|inpress}, final]
\step[fieldset=year, origfieldval, final]
- \step[fieldsource=year, match=\regexp{(forthcoming)},
+ \step[fieldsource=year,
+ match=\regexp{(forthcoming|inpreparation|submitted|inpress)},
replace=\regexp{\\bibstring\{$1\}}]%$
\step[fieldset=pubstate, null]
}
@@ -582,7 +731,78 @@ bibliography style]
match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
final]
\step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
- }
+ }
+ \map{
+ \pertype{standard}
+ \step[notfield=author, final]
+ \step[fieldsource=organization, final]
+ \step[fieldsource=organization, match=\regexp{(.*)}]
+ \step[fieldset=shortauthor, fieldvalue=\regexp{{$1}}]%$
+ }
+ \map{
+ \pertype{manual}
+ \step[notfield=author, final]
+ \step[notfield=editor, final]
+ \step[fieldsource=organization, final]
+ \step[fieldsource=organization, match=\regexp{(.*)}]
+ \step[fieldset=shortauthor, fieldvalue=\regexp{{$1}}]%$
+ }
+ \map[overwrite]{
+ \pertype{review}
+ \pertype{online}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton}, final]
+ \step[fieldsource=options, final]
+ \step[fieldsource=options, notmatch=\regexp{skipbib|cmsdate}, final]
+ \step[fieldset=options, fieldvalue={,skipbib,cmsdate=full},
+ append]
+ \step[notfield=verbc, final]
+ \step[fieldsource=entrykey]
+ \step[fieldset=verbc, origfieldval]
+ }
+ \map{
+ \pertype{review}
+ \pertype{online}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton}, final]
+ \step[notfield=options, final]
+ \step[fieldset=options, fieldvalue={skipbib,cmsdate=full}]
+ \step[fieldsource=entrykey]
+ \step[fieldset=verbc, origfieldval]
+ }
+ \map{
+ \pertype{review}
+ \pertype{online}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton}, final]
+ \step[fieldsource=related, match=\regexp{(.*)}]
+ \step[entrynew=$1-customc, entrynewtype=customc]%$
+ \step[fieldset=options, fieldvalue={skipbib,authortitle},
+ entrytarget=$1-customc]%$
+ \step[fieldset=pubstate, fieldvalue=cms-generated,
+ entrytarget=$1-customc]%$
+ \step[fieldsource=relatedtype]
+ \step[fieldsource=relatedstring]
+ \step[fieldset=title, origfieldval, entrytarget=$1-customc]%$
+ }
+ \map{
+ \pertype{video}
+ \step[fieldsource=entrysubtype, match=tvepisode, final]
+ \step[fieldsource=title, final]
+ \step[fieldsource=booktitle, final]
+ \step[fieldset=sorttitle, origfieldval]
+ }
+ \map[overwrite]{% Backward compatibility kludges
+ \step[fieldsource=year,
+ match=\regexp{^\[(.+)\](.*)},
+ replace=\regexp{\[$1\]\\midsentence$2}]
+ \step[fieldsource=year,
+ match=\regexp{^\\bibopenbracket\s*(.+)\\bibclosebracket(.*)},
+ replace=\regexp{\[$1\]\\midsentence$2}]
+ \step[fieldsource=year,
+ match=\regexp{^\\mkbibbrackets\{(.+)\}(.*)},
+ replace=\regexp{\[$1\]\\midsentence$2}]
+ }
}
}%
@@ -590,8 +810,6 @@ bibliography style]
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{mag+news+author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{cmsbibsortdate}%
\newunit\newblock
@@ -607,10 +825,12 @@ bibliography style]
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% 17th ed. clarifies punctuation
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock%
\usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
\newcunit\newblock
\usebibmacro{chap+pag}%
\newunit\newblock
@@ -639,8 +859,6 @@ bibliography style]
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}%
\usebibmacro{cmsbibsortdate}%
@@ -657,10 +875,12 @@ bibliography style]
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% 17th ed.
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
- \usebibmacro{journal+issue+year+pages}%
+ \iftoggle{cms@switchdates}%
+ {\usebibmacro{journal+issue+year+pages}{orig}}%
+ {\usebibmacro{journal+issue+year+pages}{}}%
\newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
@@ -690,26 +910,23 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
- \usebibmacro{cmsbibsortdate}%
+ \usebibmacro{cmscitesortdate}% 17th ed. ??
\newunit\newblock
\ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
- \newcunit\newblock
- \usebibmacro{date}%
+ \newunit\newblock
+ \usebibmacro{artwork+dates}%
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{bibreprint}%
- \printfield{howpublished}%
\newunit\newblock
\printfield{type}%
\newcunit\newblock
- \printfield{version}%
+ \printfield[type]{version}%
\newcunit\newblock
\printfield{note}%
\newunit\newblock
@@ -717,6 +934,10 @@ bibliography style]
\setunit*{\addcomma\addspace}\newblock
\printlist{location}%
\newunit\newblock
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
\printfield{addendum}%
@@ -737,8 +958,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
@@ -758,7 +977,11 @@ bibliography style]
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{part+editor+translator}%
- \newcunit%\setunit{\addperiod\addspace}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}% 17th ed.
+ \iffieldundef{eventyear}%
+ {\newcunit}%
+ {\newunit}%
\usebibmacro{chapinscore}%
\usebibmacro{btitle+bstitle}%
\iffieldundef{booktitle}%
@@ -767,7 +990,7 @@ bibliography style]
\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}%
- \newunit% unit, not cunit?
+ \usebibmacro{editorpunct}%\newunit% unit, not cunit?
\usebibmacro{bybookauthor}%
\usebibmacro{byeditor+others}%
\newunit% ??? Editorpunct maybe not right here?
@@ -834,8 +1057,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -845,7 +1066,9 @@ bibliography style]
\iffieldundef{maintitle}%
{\iffieldundef{edition}%
{}%
- {\usebibmacro{edition}}}%
+ {\usebibmacro{edition}}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{version}}%
{}%
\newunit\newblock% 16th ed.
\usebibmacro{byauthor}%
@@ -867,6 +1090,10 @@ bibliography style]
\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}%
+ \newcunit
+ \iffieldundef{version}%
+ {}%
+ {\printfield{version}}
\usebibmacro{editorpunct}%
\usebibmacro{byeditor+others}%
\usebibmacro{editorpunct}%
@@ -888,6 +1115,8 @@ bibliography style]
\newcunit\newblock
\printlist[][-\value{listtotal}]{lista}%
\newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
\printfield{addendum}%
@@ -948,8 +1177,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1059,8 +1286,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1096,8 +1321,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1193,37 +1416,104 @@ bibliography style]
\DeclareBibliographyDriver{customc}{%
\usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newunit}%
+ {\setunit{\addspace}}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{dataset}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
\newunit\newblock
- \printfield{nameaddon}%
- \setunit*{\addspace}%
- \usebibmacro{italtitle+stitle}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock%
+ \printtext[parens]{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \setunit{\addspace}\newblock%
+ \ifthenelse{\iffieldundef{howpublished}\AND%
+ \iffieldundef{number}\AND\iffieldundef{type}}%
+ {}%
+ {\printtext[parens]{%
+ \printfield{howpublished}%
+ \newcunit
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}}}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \setunit{\addsemicolon\addspace}%
+ \printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{date}%
+ \clearfield{urlyear}\clearfield{urlmonth}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{image}{%
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
- \usebibmacro{cmsbibsortdate}%
+ \usebibmacro{cmscitesortdate}%
\newunit\newblock
\ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
- \setunit*{\addcomma\addspace}% 16th ed. added * (?)
- \usebibmacro{date}%
+ \newunit\newblock% 16th ed. added * (?)
+ \usebibmacro{artwork+dates}%
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{bibreprint}%
- \printfield{howpublished}%
\newunit\newblock
\printfield{type}%
\newcunit\newblock
- \printfield{version}%
+ \printfield[type]{version}%
\newcunit\newblock
\printfield{note}%
\newunit\newblock
@@ -1231,6 +1521,10 @@ bibliography style]
\setunit*{\addcomma\addspace}\newblock
\printlist{location}%
\newunit\newblock
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
\printfield{addendum}%
@@ -1251,8 +1545,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1354,8 +1646,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1457,8 +1747,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1798,8 +2086,6 @@ bibliography style]
\DeclareBibliographyDriver{legal}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -1865,8 +2151,6 @@ bibliography style]
\iffieldequalstr{entrysubtype}{uk}% FIXME?
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -1930,8 +2214,6 @@ bibliography style]
{\iffieldequalstr{entrysubtype}{hansard}% FIXME?
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -1988,8 +2270,6 @@ bibliography style]
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -2063,8 +2343,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{cmsbibsortdate}%
\newunit\newblock
@@ -2168,8 +2446,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author+org}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2213,8 +2489,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\iffieldundef{entrysubtype}%
{\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}}%
@@ -2231,7 +2505,9 @@ bibliography style]
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
\newcunit\newblock%
- \usebibmacro{unpubl+letter+date}}%
+ \usebibmacro{unpubl+letter+date}%
+ \newcunit
+ \printlist{origlocation}}% 17th ed.
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
@@ -2246,7 +2522,10 @@ bibliography style]
\newunit\newblock
\printfield{note}%
\newunit\newblock
- \usebibmacro{institution+organization}%
+ \iffieldundef{entrysubtype}%
+ {\printfield{venue}\setunit*{\addcomma\addspace}}%
+ {}%
+ \usebibmacro{misc+institution+organization}%
\setunit*{\addcomma\addspace}\newblock
\printlist{location}%
\iffieldundef{entrysubtype}%
@@ -2274,8 +2553,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
@@ -2296,9 +2573,16 @@ bibliography style]
\newunit\newblock
\usebibmacro{part+editor+translator}%
\newunit\newblock
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\usebibmacro{byeditor+others}\newunit\newblock}{}%
\usebibmacro{music+eventdate}%\printeventdate
\newunit\newblock
- \usebibmacro{chapinscore}%
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{chap+as+track}%inscore% 17th ed.
+ \usebibmacro{music+bookauthor}% Ditto.
\usebibmacro{btitle+bstitle}%
\iffieldundef{booktitle}%
{\newunit}% Fix customc?
@@ -2306,9 +2590,9 @@ bibliography style]
\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}%
- \newunit% unit, not cunit?
- \usebibmacro{bybookauthor}%
- \usebibmacro{byeditor+others}%
+ \usebibmacro{editorpunct}%\newunit% unit, not cunit?
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {}{\usebibmacro{byeditor+others}}%
\newunit% ??? Editorpunct maybe not right here?
\iffieldundef{maintitle}%
{}%
@@ -2338,14 +2622,14 @@ bibliography style]
\newunit\newblock
\printfield{version}%
\newunit\newblock
- \printfield{note}%
- \newunit\newblock
- \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}%
+ \usebibmacro{music+origdate}% Changed for 17th ed.
\newunit\newblock
\printlist{publisher}%
\setunit*{\addcomma\addspace}\newblock
- \printfield{series}%
- \setunit{\addspace}%
+ \usebibmacro{series+or+shortser}%
+ \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}%
+ {\newunit}%
+ {\setunit{\addspace}}%
\printfield{number}%
\newcunit\newblock
\usebibmacro{date}%
@@ -2388,26 +2672,79 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
- \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \ifundef\bbx@lasthash%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\usebibmacro{italtitle+stitle}}}%
+ {\usebibmacro{italtitle+stitle}}}%
+ {}%
\usebibmacro{cmsbibsortdate}%
\newunit\newblock
- \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \ifundef\bbx@lasthash%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}%
+ {}%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {}}}%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}%
+ {}%
+ {\usebibmacro{italtitle+stitle}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \usebibmacro{time+stamp}%
+ \iftoggle{cms@switchdates}%
+ {\clearfield{orighour}\clearfield{origyear}\clearfield{origmonth}%
+ \clearfield{origday}\clearfield{origseason}}%
+ {\clearfield{hour}\clearfield{year}\clearfield{month}%
+ \clearfield{day}\clearfield{season}}%
+ \newunit\newblock}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\usebibmacro{italtitle+stitle}}}%
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
\usebibmacro{bibreprint}%
\printlist{organization}% 16th ed.
\newunit\newblock
\printfield{note}%
- \newunit\newblock
+ \newcunit\newblock% 17th ed. comma
\usebibmacro{date}%
+ \usebibmacro{time+stamp}% 17th ed.
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{addendum}%
\newunit\newblock
\ifthenelse{\iffieldundef{urlyear}\AND\iffieldundef{urlmonth}}%
{}%
- {\printurldate}% Date fix
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
\newunit\newblock
\iftoggle{cms@doionly}%
{\iffieldundef{doi}%
@@ -2422,11 +2759,13 @@ bibliography style]
\newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
- \printfield{addendum}%
- \newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2438,10 +2777,10 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{author+holder}% + holder?
\newunit\newblock
- \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \ifundef\bbx@lasthash{\usebibmacro{patenttitle+stitle}}{}%
\usebibmacro{cmscitesortdate}%
\newunit\newblock
- \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \ifundef\bbx@lasthash{}{\usebibmacro{patenttitle+stitle}}%
\setunit{\addperiod\addspace}%
\printfield{note}%
\setunit{\addperiod\addspace}%
@@ -2490,25 +2829,82 @@ bibliography style]
{}%
\usebibmacro{finentry}}
+\DeclareBibliographyDriver{performance}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}%
+ {\usebibmacro{italtitle+stitle}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{venue}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
\DeclareBibliographyDriver{periodical}{%
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
and
not togl {cms@origpublished}%
}%
- {\printtext[title]{% magazine subtype
- \printfield[tnoformat]{title}%
- \setunit{\subtitlepunct}%
- \printfield[stnoformat]{subtitle}}%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
\clearlist{location}%
+ \clearfield{shorttitle}%
\clearfield{title}%
\clearfield{subtitle}%
\newunit\newblock}{}%
@@ -2548,21 +2944,29 @@ bibliography style]
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
and
not togl {cms@origpublished}%
}%
- {\printtext[title]{% magazine subtype
- \printfield[tnoformat]{title}%
- \setunit{\subtitlepunct}%
- \printfield[stnoformat]{subtitle}}%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
\clearlist{location}%
+ \clearfield{shorttitle}%
\clearfield{title}%
\clearfield{subtitle}%
\newunit\newblock}{}%
@@ -2579,7 +2983,9 @@ bibliography style]
\usebibmacro{bibreprint}%
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
- \usebibmacro{periodical+issue+year+pages}%
+ \iftoggle{cms@switchdates}%
+ {\usebibmacro{periodical+issue+year+pages}{orig}}%
+ {\usebibmacro{periodical+issue+year+pages}{}}%
\newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
@@ -2605,8 +3011,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2755,8 +3159,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2767,8 +3169,10 @@ bibliography style]
\newunit\newblock
\printfield{type}%
\newcunit
- \printfield{series}%
- \setunit{\addnbspace}%
+ \usebibmacro{series+or+shortser}%
+ \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}%
+ {\newunit}%
+ {\setunit{\addnbspace}}%
\printfield{number}%
\newunit
\printfield{note}%
@@ -2801,14 +3205,16 @@ bibliography style]
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{mag+news+author}}%
{\usebibmacro{author/editor}}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef{\bbx@lasthash}%
{\ifboolexpr{%
togl {cms@related}%
and
+ (
test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
}%
{\usebibmacro{related:init}%
\usebibmacro{related}}%
@@ -2824,7 +3230,11 @@ bibliography style]
{\ifboolexpr{%
togl {cms@related}%
and
+ (
test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
}%
{\usebibmacro{related:init}%
\usebibmacro{related}}%
@@ -2835,6 +3245,8 @@ bibliography style]
\printfield{titleaddon}%
\newcunit\newblock
\usebibmacro{music+eventdate}% 16th ed.
+ \newcunit\newblock
+ \printeventtime%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
\newunit\newblock%
@@ -2846,14 +3258,18 @@ bibliography style]
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% 17th ed.
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock%
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{mag+news+date}%
- \newcunit\newblock
- \usebibmacro{chap+pag}}%
- {\usebibmacro{journal+issue+year+pages}}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}}%
+ {\iftoggle{cms@switchdates}%
+ {\usebibmacro{journal+issue+year+pages}{orig}}%
+ {\usebibmacro{journal+issue+year+pages}{}}}%
\newunit\newblock
\usebibmacro{pubstate}%
\newunit\newblock
@@ -2871,6 +3287,96 @@ bibliography style]
togl {cms@related}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{standard}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \ifnameundef{author}%
+ {\iflistundef{organization}%
+ {\let\bbx@lasthash\undefined}%
+ {\ifboolexpr{%
+ test {\iflistequals{organization}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printlist{organization}\bibcloseparen}%
+ {\printlist{organization}}%
+ \savelist{organization}{\bbx@lasthash}}}}%
+ {\usebibmacro{justauthor}}%
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}{\usebibmacro{italtitle+stitle}}{}%
+ \ifthenelse{\iffieldundef{userd}\AND\iffieldundef{howpublished}}%
+ {\usebibmacro{cmsbibsortdate}}%
+ {\usebibmacro{cmscitesortdate}}% Like Patent entries (?)
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}{}%
+ {\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{series+or+shortser}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock%
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed.
+ \newunit\newblock%
+ \usebibmacro{bibreprint}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\iflistundef{organization}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{organization}%
+ \setunit*{\addcomma\addspace}}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}}%
+ \usebibmacro{date}
+ \setunit{\addsemicolon\addspace}%
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -2883,8 +3389,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{%
\usebibmacro{inforaft}%
@@ -2958,8 +3462,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2993,8 +3495,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -3042,35 +3542,40 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{%
- \usebibmacro{video+title}% Simplifies trad style
- \iffieldundef{booktitle}% Comma after italics, period after quotes
- {\setunit{\ctitleaddonpunct}}%
- {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock%
- \printfield{titleaddon}%\usebibmacro{title+stitle}%
- \setunit{\addspace}\newblock%\bibsentence
- \usebibmacro{language+transtitle}%
- \newunit\newblock}{}%
+ \usebibmacro{video+tv+title}%
+ \newunit\newblock}{}%
\usebibmacro{cmsbibsortdate}%
\newunit\newblock
\ifundef\bbx@lasthash{}{%
- \usebibmacro{video+title}% Simplifies trad style
- \iffieldundef{booktitle}% Comma after italics, period after quotes
- {\setunit{\ctitleaddonpunct}}%
- {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock%
- \printfield{titleaddon}%\usebibmacro{title+stitle}%
- \setunit{\addspace}\newblock%\bibsentence
- \usebibmacro{language+transtitle}}%
- \setunit{\addperiod\addspace}% 16th ed.
- \usebibmacro{byauthor}%
- \setunit{\addperiod\addspace}%
- \usebibmacro{part+editor+translator}%
- \setunit{\addperiod\addspace}%
- \usebibmacro{chapinscore}%
- \usebibmacro{btitle+bstitle}%
+ \usebibmacro{video+tv+title}}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ (
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ )
+ }%
+ {\usebibmacro{video+title}%
+ \iffieldundef{booktitle}%
+ {\setunit{\ctitleaddonpunct}}%
+ {\setunit{\ptitleaddonpunct}}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}}
+ {\setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}}%
\iffieldundef{booktitle}%
{\setunit{\addperiod\addspace}}% Fix customc?
{\setunit{\addcomma\addspace}}%
@@ -3109,12 +3614,15 @@ bibliography style]
\newunit\newblock
\usebibmacro{ser+num}%
\newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
\usebibmacro{music+eventdate}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{usera}%
\newunit\newblock
\usebibmacro{origpubl+loc+year}% 16th ed.
\newunit\newblock
- \printfield{note}%
- \newunit\newblock
+ \usebibmacro{bibreprint}% 17th ed.
\usebibmacro{publ+loc+year}%
\newunit\newblock
\printfield{type}%
@@ -3152,7 +3660,14 @@ bibliography style]
)
}%
{}%
- {\printurldate}% Date fix
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
\iffieldundef{addendum}%
{\newunit\newblock}%
{\newcunit\newblock}%
@@ -3192,18 +3707,30 @@ bibliography style]
or
not togl {cms@los}%
}%
- {\togglefalse{cms@authorparens}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT
- \iffirstonpage}%
+ {\togglefalse{cms@authorparens}%
+ \global\csundef{cms@shauthor}}%
+ {\ifboolexpr{%
+ ((
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ or
+ test {\iffieldequals{shorthand}{\cms@shauthor}}%
+ )
+ and
+ togl {cms@namedash}%
+ )
+ and
+ not test {\iffirstonpage}%
+ }%
{\togglefalse{cms@authorparens}}%
{\toggletrue{cms@authorparens}%
+ \savefield{shorthand}{\cms@shauthor}%
\printfield{shorthand}\addspace}}}
\newbibmacro*{shorthand:label}{% Test this
\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
\ifentrytype{periodical}}% Simplifies .bib creation
{\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}}}%
- {\ifentrytype{manual}%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
{\printtext[bibhyperref]{\printlist{organization}}}%
{\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}}%
@@ -3213,6 +3740,8 @@ bibliography style]
or
test {\ifentrytype{review}}%
or
+ test {\ifentrytype{standard}}%
+ or
test {\ifentrytype{suppperiodical}}%
or
test {\ifentrytype{video}}%
@@ -3225,17 +3754,646 @@ bibliography style]
{\usebibmacro{origfirst+labelyear+extrayear}}%
{\usebibmacro{standard+labelyear+extrayear}}}}
+\protected\def\cmsunspecified#1#2{%
+ \ifboolexpr{%
+ test {\iffieldundef{#2dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#2endyear}}%
+ or
+ test {\iffieldequalstr{#2dateera}{bce}}%
+ or
+ not togl {cms@compyears}%
+ or
+ not test {\iffieldnum{#2year}}%
+ or
+ not test {\iffieldnum{#2endyear}}%
+ or
+ not test {\if@cms@onlyyears{#2}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}%
+ {\cmscompcenturies{#2}%
+ \ifboolexpr{%
+ (
+ test {\if@cms@bracket}%
+ and
+ not test {\if@cms@endbracket}
+ )
+ or
+ (
+ not test {\if@cms@bracket}%
+ and
+ test {\if@cms@endbracket}%
+ )
+ or
+ (
+ test {\if@cms@endcirca}%
+ and
+ not test {\if@cms@circa}%
+ )
+ or
+ not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearindecade}}%
+ and
+ test {\ifbibstring{decade}}%
+ and
+ not togl {cms@decaderange}%
+ }%
+ {\cmsmkdecade{#1}{#2}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearincentury}}%
+ and
+ test {\ifbibstring{century}}%
+ and
+ not togl {cms@centuryrange}%
+ }%
+ {\cmsmkcentury{#2}}%
+ {\iftoggle{cms@compyears}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}%
+
+\protected\def\cmscompressyears#1{%
+ \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}%
+ \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}%
+ \cms@tempb}%
+
+\newcount\cms@tempcnta
+\newcount\cms@tempcntb
+
+\def\cmscompcenturies#1{%
+ \cms@tempcnta=\thefield{#1year}%
+ \divide\cms@tempcnta100
+ \cms@tempcntb=\thefield{#1endyear}%
+ \divide\cms@tempcntb100}
+
+\protected\def\cmsformatextra{%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {\usebibmacro{cmsextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}}
+
+\protected\def\cmsformatendextra{%
+ \ifboolexpr{%
+ test {\if@cms@endbracket}%
+ and
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {\usebibmacro{cmsextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}}
+
+\newbibmacro*{cmsextradate}{% For use with some date specs
+ \iffieldundef{extradate}%
+ {}%
+ {\setunit*{}%
+ \printfield{extradate}\clearfield{extradate}}}
+
+\newbibmacro*{cmsparensextradate}{% For use with other date specs
+ \iffieldundef{extradate}%
+ {}%
+ {\setunit*{}%
+ \mkbibparens{\printfield{extradate}}\clearfield{extradate}}}
+
+\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language
+ \ifdefstring\blx@dateera{astronomical}%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifnumless{0-\thefield{#1}}{0}%
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}%
+ {}}%
+ {}%
+ \endgroup}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\ifdefstring\blx@tempa{end}%
+ {\iftoggle{cms@bc}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}%
+ {}}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}}%
+ {}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\protected\def\cmsdateeraprint#1{% AD/BC order depends on language
+ \ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \blx@ifstrendswith{#1}{endyear}
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype
+ \def\blx@tempa{end}}
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}}}%
+ {}%
+ \endgroup}
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{secular}}%
+ or
+ (
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\if@cms@adfirst}%
+ )
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}}}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}%
+ \global\booltrue{cms:extraparens}}%
+ {}}%
+ {\csuse{if\blx@datetype enddateera}{ce}%
+ {}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}%
+ \global\booltrue{cms:extraparens}}%
+ {}}}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\newrobustcmd*{\cms@datebrackets}{%
+ \iftoggle{cms@nodatebrackets}%
+ {\global\boolfalse{cms:bracket}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@yearbrackets}{%
+ \iftoggle{cms@noyearbrackets}%
+ {\global\boolfalse{cms:bracket}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkbibrangefull}[2]{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkyearrangeextra}[3][]{%
+ \global\boolfalse{cms:extraparens}%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {\ifthenelse{\iffieldundef{#3endyear}\OR%
+ \iffieldequalstr{#3endyear}{}}%
+ {\global\booltrue{cms:extraparens}}%
+ {}%
+ \bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra}%\usebibmacro{cmsextradate}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra%\usebibmacro{cmsextradate}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}%
+ \cmsformatendextra}}}}%
+ \endgroup}%
+
+\def\if@cms@adfirst{%
+ \ifboolexpr{%
+ test {\ifdefstring\blx@languagename{american}}%
+ or
+ test {\ifdefstring\blx@languagename{british}}%
+ or
+ test {\ifdefstring\blx@languagename{canadian}}%
+ or
+ test {\ifdefstring\blx@languagename{english}}%
+ or
+ test {\ifdefstring\blx@languagename{UKenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{USenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{australian}}%
+ or
+ test {\ifdefstring\blx@languagename{newzealand}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@bracket{%
+ \ifboolexpr{%
+ (
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endbracket{%
+ \ifboolexpr{%
+ (
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@circa{%
+ \ifboolexpr{%
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@uncertain{%
+ \ifboolexpr{%
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endcirca{%
+ \ifboolexpr{%
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@enduncertain{%
+ \ifboolexpr{%
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@onlyyears#1{%
+ \ifboolexpr{%
+ test {\iffieldundef{#1month}}%
+ and
+ test {\iffieldundef{#1endmonth}}%
+ and
+ test {\iffieldundef{#1day}}%
+ and
+ test {\iffieldundef{#1endday}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
\newbibmacro*{standard+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
\iffieldequalstr{labelyear}{nodate}}% or new declaration ???
{\ifboolexpr{%
test {\ifentrytype{misc}}%
or
- test {\ifentrytype{inreference}}%
- or
- test {\ifentrytype{reference}}%
- or
- test {\ifentrytype{mvreference}}%
+ test {\ifentrytype{dataset}}%
or
not togl {cms@nodates}}%
{}%
@@ -3243,86 +4401,24 @@ bibliography style]
{\iffieldundef{year}%
{\iffieldundef{eventyear}%
{\iffieldundef{origyear}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {\clearfield{urlyear}}%
+ {\iffieldundef{userd}%
{\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
+ togl {cms@nodates}%
and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{urlyear}}%
- {\iffieldundef{urlmonth}%
- {\clearfield{urlyear}}%
- {\iffieldsequal{urlyear}{urlendyear}%
- {\clearfield{urlyear}\clearfield{urlendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}%
- {\clearfield{origyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
+ not test {\ifentrytype{misc}}%
and
- not togl {cms@datedash}%
+ not test {\ifentrytype{dataset}}%
}%
- {\mbox{\bibdatedash}%
- \clearfield{origyear}}%
- {\iffieldundef{origmonth}%
- {\clearfield{origyear}}%
- {\iffieldsequal{origyear}{origendyear}%
- {\clearfield{origyear}\clearfield{origendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}%
- {\clearfield{eventyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{eventyear}}%
- {\iffieldundef{eventmonth}%
- {\clearfield{eventyear}}%
- {\iffieldsequal{eventyear}{eventendyear}%
- {\clearfield{eventyear}\clearfield{eventendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}% DATE FIX
- {\clearfield{year}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{year}}%
- {\iffieldundef{month}%
- {\clearfield{year}}%
- {\iffieldsequal{year}{endyear}%
- {\clearfield{year}\clearfield{endyear}}%
+ {\bibstring{nodate}}%
{}}%
- \usebibmacro{cms@test@labelend}}}}}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}}%
\newbibmacro*{origfirst+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
@@ -3330,11 +4426,7 @@ bibliography style]
{\ifboolexpr{%
test {\ifentrytype{misc}}%
or
- test {\ifentrytype{inreference}}%
- or
- test {\ifentrytype{reference}}%
- or
- test {\ifentrytype{mvreference}}%
+ test {\ifentrytype{dataset}}%
or
not togl {cms@nodates}}%
{}%
@@ -3342,86 +4434,24 @@ bibliography style]
{\iffieldundef{origyear}%
{\iffieldundef{year}%
{\iffieldundef{eventyear}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {\clearfield{urlyear}}%
+ {\iffieldundef{userd}%
{\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
+ togl {cms@nodates}%
and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{urlyear}}%
- {\iffieldundef{urlmonth}%
- {\clearfield{urlyear}}%
- {\iffieldsequal{urlyear}{urlendyear}%
- {\clearfield{urlyear}\clearfield{urlendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}%
- {\clearfield{eventyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
+ not test {\ifentrytype{misc}}%
and
- not togl {cms@datedash}%
+ not test {\ifentrytype{dataset}}%
}%
- {\mbox{\bibdatedash}%
- \clearfield{eventyear}}%
- {\iffieldundef{eventmonth}%
- {\clearfield{eventyear}}%
- {\iffieldsequal{eventyear}{eventendyear}%
- {\clearfield{eventyear}\clearfield{eventendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}%
- {\clearfield{year}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{year}}%
- {\iffieldundef{month}%
- {\clearfield{year}}%
- {\iffieldsequal{year}{endyear}%
- {\clearfield{year}\clearfield{endyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}% DATE FIX
- {\clearfield{origyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{origyear}}%
- {\iffieldundef{origmonth}%
- {\clearfield{origyear}}%
- {\iffieldsequal{origyear}{origendyear}%
- {\clearfield{origyear}\clearfield{origendyear}}%
+ {\bibstring{nodate}}%
{}}%
- \usebibmacro{cms@test@labelend}}}}}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}}%
\newbibmacro*{av+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
@@ -3429,11 +4459,7 @@ bibliography style]
{\ifboolexpr{%
test {\ifentrytype{misc}}%
or
- test {\ifentrytype{inreference}}%
- or
- test {\ifentrytype{reference}}%
- or
- test {\ifentrytype{mvreference}}%
+ test {\ifentrytype{dataset}}%
or
not togl {cms@nodates}}%
{}%
@@ -3441,106 +4467,77 @@ bibliography style]
{\iffieldundef{eventyear}%
{\iffieldundef{origyear}%
{\iffieldundef{year}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {\clearfield{urlyear}}%
+ {\iffieldundef{userd}%
{\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
+ togl {cms@nodates}%
and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{urlyear}}%
- {\iffieldundef{urlmonth}%
- {\clearfield{urlyear}}%
- {\iffieldsequal{urlyear}{urlendyear}%
- {\clearfield{urlyear}\clearfield{urlendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}%
- {\clearfield{year}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
+ not test {\ifentrytype{misc}}%
and
- not togl {cms@datedash}%
+ not test {\ifentrytype{dataset}}%
}%
- {\mbox{\bibdatedash}%
- \clearfield{year}}%
- {\iffieldundef{month}%
- {\clearfield{year}}%
- {\iffieldsequal{year}{endyear}%
- {\clearfield{year}\clearfield{endyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}%
- {\clearfield{origyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{origyear}}%
- {\iffieldundef{origmonth}%
- {\clearfield{origyear}}%
- {\iffieldsequal{origyear}{origendyear}%
- {\clearfield{origyear}\clearfield{origendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}% DATE FIX
- {\clearfield{eventyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{eventyear}}%
- {\iffieldundef{eventmonth}%
- {\clearfield{eventyear}}%
- {\iffieldsequal{eventyear}{eventendyear}%
- {\clearfield{eventyear}\clearfield{eventendyear}}%
+ {\bibstring{nodate}}%
{}}%
- \usebibmacro{cms@test@labelend}}}}}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}}%
-\newbibmacro*{origyear+endyear}{%
- \printfield{origyear}%
- \ifthenelse{\iffieldundef{origendyear}\OR%
- \iffieldsequal{origyear}{origendyear}}% Same fix as in .lbx
- {}%
- {\iffieldequalstr{origendyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash\csuse{mkbibdatelong}{origendyear}{}{}}}}% ???
-
-% \printfield{origendyear}}}} Peculiar bug with this after \bibnamedash
+\newbibmacro{artwork+dates}{% 17th ed.
+ \iftoggle{cms@ordate}%
+ {\IfBeginWith{\thefield{labeldatesource}}{orig}%
+ {\iftoggle{cms@switchdates}%
+ {\printdate\newunit\printorigdate}%
+ {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}%
+ {\iffieldundef{year}{}{\printdate}}%
+ {\printorigdate%
+ \iffieldundef{year}%
+ {}%
+ {\newunit\printdate}}}}%
+ {\IfBeginWith{\thefield{labeldatesource}}{event}%
+ {}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {}{\printdate}}}}%
+ {\ifboolexpr{%
+ togl {cms@origlabel}%
+ or
+ togl {cms@bothlabelold}%
+ or
+ togl {cms@bothlabelnew}%
+ }%
+ {\iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {\printorigdate}%
+ {\printdate\newunit\printorigdate}}%
+ {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}%
+ {\printdate}%
+ {\printorigdate\newunit\printdate}}}%
+ {\iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {\printorigdate}%
+ {\printdate\newunit\printorigdate}}%
+ {\iffieldundef{origyear}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {}%
+ {\printdate}}%
+ {\printorigdate%
+ \iffieldundef{year}%
+ {}%
+ {\newunit\printdate}}}}}}
-\newbibmacro*{year+endyear}{%
- \printfield{year}%
- \ifthenelse{\iffieldundef{endyear}\OR%
- \iffieldsequal{year}{endyear}}% Same fix as in .lbx
- {}%
- {\iffieldequalstr{endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash\printfield{endyear}}}}
+\newbibmacro*{clear+datefield}[1]{%
+ \iffieldundef{#1day}%
+ {\iffieldundef{#1endyear}%
+ {\clearfield{#1year}}%
+ {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}%
+ {\clearfield{#1year}}%
+ {\ifdateyearsequal{#1}{#1end}%
+ {\clearfield{#1year}\clearfield{#1endyear}}%
+ {}}}}%
+ {}}
\newbibmacro*{cmsbibsortdate}{% Attempt to solve date-related problems
\ifboolexpr{%
@@ -3572,10 +4569,10 @@ bibliography style]
{\usebibmacro{bothyear+oldstyle}}%
{\iftoggle{cms@bothlabelold}%
{\usebibmacro{bothyear+oldstyle}}%
- {\usebibmacro{labelyear+extrayear}}}}%
- \ifcsdef{@cms@tempdate}%
- {\toggletrue{\@cms@tempdate}}%
- {}}%
+ {\usebibmacro{labelyear+extrayear}}}}}%
+ % \ifcsdef{@cms@tempdate}%
+ % {\toggletrue{\@cms@tempdate}}%
+ % {}}%
\newbibmacro*{origyear+labelyear}{%
\ifboolexpr{ (
@@ -3583,6 +4580,8 @@ bibliography style]
or
test {\ifentrytype{review}}%
or
+ test {\ifentrytype{standard}}%
+ or
test {\ifentrytype{suppperiodical}}%
or
test {\ifentrytype{video}}%
@@ -3600,8 +4599,9 @@ bibliography style]
\usebibmacro{standard+labelyear+extrayear}}%
{\iftoggle{cms@ordate}%
{\usebibmacro{origfirst+labelyear+extrayear}}%
- {\usebibmacro{origyear+endyear}%
- \clearfield{origyear}}}}}}%
+ {\clearfield{extradate}%
+ \printorigdateextra%\usebibmacro{origyear+endyear}%
+ \usebibmacro{clear+datefield}{orig}}}}}}%
\newbibmacro*{bothyear+oldstyle}{%
\ifboolexpr{ (
@@ -3609,6 +4609,8 @@ bibliography style]
or
test {\ifentrytype{review}}%
or
+ test {\ifentrytype{standard}}%
+ or
test {\ifentrytype{suppperiodical}}%
or
test {\ifentrytype{video}}%
@@ -3622,9 +4624,11 @@ bibliography style]
\bibopenparen%
\usebibmacro{labelyear+extrayear}%
\bibcloseparen%
- \setunit{\addspace}\usebibmacro{origyear+endyear}}%
- \clearfield{year}%
- \clearfield{origyear}}%
+ \setunit{\addspace}%
+ \clearfield{extrayear}%
+ \printorigdateextra}% \usebibmacro{origyear+endyear}
+ \usebibmacro{clear+datefield}{}%
+ \usebibmacro{clear+datefield}{orig}}%
{\iffieldundef{origyear}%
{\iftoggle{cms@ordate}%
{}%
@@ -3638,18 +4642,23 @@ bibliography style]
\usebibmacro{origfirst+labelyear+extrayear}%
\bibcloseparen%
\setunit*{\addspace}%
- \usebibmacro{year+endyear}}}}%
- {\printtext{%
- \bibopenparen%
- \usebibmacro{origyear+endyear}%
- \bibcloseparen%
- \clearfield{extradate}\setunit*{\addspace}%
- \usebibmacro{standard+labelyear+extrayear}}}%
- \clearfield{origyear}%
- \clearfield{year}}}}}%
+ \clearfield{extradate}%
+ \printdateextra}}}% \usebibmacro{year+endyear}
+ {\iffieldundef{year}%
+ {\usebibmacro{origfirst+labelyear+extrayear}}%
+ {\printtext{%
+ \bibopenparen%
+ \clearfield{extradate}%
+ \printorigdateextra%
+ % \usebibmacro{origyear+endyear}%
+ \bibcloseparen%
+ \setunit*{\addspace}%
+ \usebibmacro{standard+labelyear+extrayear}}}}%
+ \usebibmacro{clear+datefield}{orig}%
+ \usebibmacro{clear+datefield}{}}}}}%
\newbibmacro*{pubstate}{%
- \iftoggle{cms@reprint}%
+ \iffieldequalstr{pubstate}{reprint}%
{\iftoggle{cms@switchdates}%
{\iffieldundef{year}% Fix for consistency???
{}%
@@ -3661,22 +4670,28 @@ bibliography style]
{\printtext{% 16th ed.
\usebibmacro{choosepubstring}%
\printorigdate}}}}% Need \addperiod & \nopunct ??
- {\printfield{pubstate}}}%
+ {}}% 17th ed.
\newbibmacro*{choosepubstring}{%
\ifthenelse{\ifentrytype{video}\OR%
\ifentrytype{music}}%
{\bibstring{origreleaseyear}}%
- {\bibstring{origpubyear}}}%
+ {\bibstring{origpubyearalt}}}%
\newbibmacro*{bibreprint}{%
- \iftoggle{cms@reprint}%
- {\iffieldundef{origyear}%
- {\bibstring{reprint}\newcunit}% 16th ed.
- {\iftoggle{cms@switchdates}%
- {\bibstring{reprint}\newcunit}% 16th ed.
- {}}}%
- {}}%
+ \iffieldequalstr{pubstate}{reprint}%
+ {\ifentrytype{video}%
+ {}%
+ {\iffieldundef{origyear}%
+ {\bibstring{reprint}\reprintpunct}% 16th ed. \newcunit
+ {\iftoggle{cms@switchdates}%
+ {\bibstring{reprint}\reprintpunct}% 16th ed. \newcunit
+ {}}}}%
+ {\iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\biblstring{\thefield{pubstate}}\reprintpunct}% \newcunit
+ {\printfield[prenote]{pubstate}\reprintpunct}}}}% \newcunit
\newbibmacro*{volume+pages}{% Volume fix (modified)
\ifboolexpr{%
@@ -3872,46 +4887,48 @@ bibliography style]
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}}}%
-\newbibmacro*{cjournal+ser+vol+num}{% Moved to bbx
+\newbibmacro*{cjournal+ser+vol+num}[1]{% Moved to bbx
\usebibmacro{journal+sub}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
\setunit*{\addspace}%
\iffieldundef{series}%
- {}%
- {\newcunit
- \printfield[jourser]{series}%
- \newcunit}%\setunit*{\addspace}?
- \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {}%
+ {\newcunit
+ \printfield[jourser]{series}%
+ \newcunit}%\setunit*{\addspace}?
+ \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND%
+ \iffieldundef{issue}\AND\iffieldundef{#1season}}%
{\iffieldundef{volume}%
{\newcunit%
\printfield[journum]{number}%
\clearfield{number}%
- \setunit{\addcomma\addspace}}%
+ \printunit{\addcomma\addspace}}%
{\printfield[jourvol]{volume}%
\setunit{\addcomma\addspace}}}%
{\printfield[jourvol]{volume}%
\newcunit%
\printfield[journum]{number}%
\clearfield{number}%
- \setunit{\addcomma\addspace}}% need * here?
- \printfield{eid}%
- \newunit}%
+ \setunit{\addcomma\addspace}}}% eid moved for 17th ed.
+ % \printfield{eid}%
+ % \newunit}%
-\newbibmacro*{journal+issue+year+pages}{%
+\newbibmacro*{journal+issue+year+pages}[1]{%
\ifboolexpr{%
not togl {cms@numbermonth}%
or
test {\ifcsstring{blx@dateformat@date}{year}}%
}%
- {\clearfield{month}}%
+ {\clearfield{#1month}}%
{}%
- \usebibmacro{cjournal+ser+vol+num}%
+ \usebibmacro{cjournal+ser+vol+num}{#1}%
\setunit{\addspace}%
- \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}%
- \AND\iffieldundef{number}\AND\iffieldundef{year}}% Test year for
- {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT% related entries??
- \iffieldundef{volume}}% Removed kludge for French colon spacing?
+ \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}%
+ \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND%
+ \iffieldundef{#1season}}% Test year for related entries??
+ {\ifthenelse{\iffieldundef{bookpagination}\AND%
+ \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}%
{\setunit{\postvolpunct}}%
{\setunit{\addcolon\addspace}}}% This may not be universally correct.
{\printtext[parens]{% Perhaps if it's wrong use magazine subtype?
@@ -3922,22 +4939,23 @@ bibliography style]
\setunit{\addspace}%
\usebibmacro{cmsyear}}}%
\setunit{\addcolon\addspace}}%
- \printfield{pages}}%
+ \usebibmacro{eid+or+pages}}%
-\newbibmacro*{periodical+issue+year+pages}{%
+\newbibmacro*{periodical+issue+year+pages}[1]{%
\ifboolexpr{%
not togl {cms@numbermonth}%
or
test {\ifcsstring{blx@dateformat@date}{year}}%
}%
- {\clearfield{month}}%
+ {\clearfield{#1month}}%
{}%
- \usebibmacro{cperiodical+ser+vol+num}%
+ \usebibmacro{cperiodical+ser+vol+num}{#1}%
\setunit{\addspace}%
- \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}%
- \AND\iffieldundef{number}\AND\iffieldundef{year}}% See prev. macro
- {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT%
- \iffieldundef{volume}}% Removed kludge for French ???
+ \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}%
+ \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND%
+ \iffieldundef{#1season}}% See prev. macro
+ {\ifthenelse{\iffieldundef{bookpagination}\AND%
+ \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}%
{\setunit{\postvolpunct}}%
{\setunit{\addcolon\addspace}}}%
{\printtext[parens]{%
@@ -3948,7 +4966,12 @@ bibliography style]
\setunit{\addspace}%
\usebibmacro{cmsyear}}}%
\setunit{\addcolon\addspace}}%
- \printfield{pages}}%
+ \usebibmacro{eid+or+pages}}%
+
+\newbibmacro*{eid+or+pages}{%
+ \iffieldundef{eid}%
+ {\printfield{pages}}%
+ {\printfield{eid}}}
\newbibmacro*{bycompiler}{%
\ifnameundef{namec}%
@@ -3959,7 +4982,7 @@ bibliography style]
\renewbibmacro*{byeditor}{%
\ifnameundef{editor}%
{}%
- {\usebibmacro{cbytypestrg}{editor}{editor}%
+ {\usebibmacro{bytypestrg}{editor}{editor}%
\setunit{\addspace}%
\printnames[byeditor]{editor}%
\usebibmacro{editorpunct}}%
@@ -3968,19 +4991,19 @@ bibliography style]
\renewbibmacro*{byeditorx}{%
\ifnameundef{editora}%
{}%
- {\usebibmacro{cbytypestrg}{editora}{editor}%
+ {\usebibmacro{bytypestrg}{editora}{editor}%
\setunit{\addspace}%
\printnames[byeditora]{editora}%
\usebibmacro{editorpunct}}%
\ifnameundef{editorb}%
{}%
- {\usebibmacro{cbytypestrg}{editorb}{editor}%
+ {\usebibmacro{bytypestrg}{editorb}{editor}%
\setunit{\addspace}%
\printnames[byeditorb]{editorb}%
\usebibmacro{editorpunct}}%
\ifnameundef{editorc}%
{}%
- {\usebibmacro{cbytypestrg}{editorc}{editor}%
+ {\usebibmacro{bytypestrg}{editorc}{editor}%
\setunit{\addspace}%
\printnames[byeditorc]{editorc}%
\usebibmacro{editorpunct}}}
@@ -4115,6 +5138,9 @@ bibliography style]
\newbibmacro*{begrelatedloop}{}
\newbibmacro*{endrelatedloop}{}
+\newcommand*{\begrelateddelimmaintitle}{\newunitpunct\par\nobreak}%
+\newcommand*{\begrelateddelimmaintitlenc}{\newunitpunct\par\nobreak}%
+
\def\ifrelatedloop{%
\ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}%
or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}%
@@ -4122,12 +5148,15 @@ bibliography style]
\newbibmacro*{related}{%
\ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }%
{}%
- {\usebibmacro{begrelated}%
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}%
+ {\printunit{\begrelateddelim}}%
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
\def\bbx@tempa{}%
\setcounter{bbx:relatedtotal}{0}%
\def\do##1{%
\entrydata{##1}{%
- \ifrelatedloop
+ \ifrelatedloop%
{}%
{\stepcounter{bbx:relatedtotal}%
\gappto{\bbx@tempa}{##1,}}}}%
@@ -4142,7 +5171,13 @@ bibliography style]
\def\do{%
\stepcounter{bbx:relatedcount}%
\ifnumgreater{\value{bbx:relatedcount}}{1}%
- {\printtext{\relateddelim}}%
+ {\ifcsundef{relateddelim\strfield{relatedtype}}%
+ {\printunit{\relateddelim}}%
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}%
{}}%
\ifbibmacroundef{related:\strfield{relatedtype}}%
{\appto{\do}{\usebibmacro{related:default}}}%
@@ -4176,4 +5211,270 @@ bibliography style]
{}%
\usebibmacro{endrelated}}}%
+\NewBibliographyString{%
+ afterwordto,%
+ broadcast,%
+ by,%
+ bychoreographer,%
+ bycompileraf,%
+ bycompileran,%
+ bycompileranaf,%
+ bycompileranfo,%
+ bycompileranin,%
+ bycompilerco,%
+ bycompilercoaf,%
+ bycompilercofo,%
+ bycompilercoin,%
+ bycompilerfo,%
+ bycompilerin,%
+ byconductor,%
+ bydirector,%
+ byeditoralt,%
+ byeditorcp,%
+ byeditorcpaf,%
+ byeditorcpan,%
+ byeditorcpanaf,%
+ byeditorcpanfo,%
+ byeditorcpanin,%
+ byeditorcpco,%
+ byeditorcpcoaf,%
+ byeditorcpcofo,%
+ byeditorcpcoin,%
+ byeditorcpfo,%
+ byeditorcpin,%
+ byeditortrcp,%
+ byeditortrcpaf,%
+ byeditortrcpan,%
+ byeditortrcpanaf,%
+ byeditortrcpanfo,%
+ byeditortrcpanin,%
+ byeditortrcpco,%
+ byeditortrcpcoaf,%
+ byeditortrcpcofo,%
+ byeditortrcpcoin,%
+ byeditortrcpfo,%
+ byeditortrcpin,%
+ bynone,%
+ byproducer,%
+ bytranslatorcp,%
+ bytranslatorcpaf,%
+ bytranslatorcpan,%
+ bytranslatorcpanaf,%
+ bytranslatorcpanfo,%
+ bytranslatorcpanin,%
+ bytranslatorcpco,%
+ bytranslatorcpcoaf,%
+ bytranslatorcpcofo,%
+ bytranslatorcpcoin,%
+ bytranslatorcpfo,%
+ bytranslatorcpin,%
+ canadasection,%
+ canadasections,%
+ cbyannotator,%
+ cbyauthor,%
+ cbychoreographer,%
+ cbycollaborator,%
+ cbycommentator,%
+ cbycompiler,%
+ cbycompileraf,%
+ cbycompileran,%
+ cbycompileranaf,%
+ cbycompileranfo,%
+ cbycompileranin,%
+ cbycompilerco,%
+ cbycompilercoaf,%
+ cbycompilercofo,%
+ cbycompilercoin,%
+ cbycompilerfo,%
+ cbycompilerin,%
+ cbyconductor,%
+ cbycontinuator,%
+ cbydirector,%
+ cbyeditor,%
+ cbyeditoraf,%
+ cbyeditoralt,%
+ cbyeditoran,%
+ cbyeditoranaf,%
+ cbyeditoranfo,%
+ cbyeditoranin,%
+ cbyeditorco,%
+ cbyeditorcoaf,%
+ cbyeditorcofo,%
+ cbyeditorcoin,%
+ cbyeditorcp,%
+ cbyeditorcpaf,%
+ cbyeditorcpan,%
+ cbyeditorcpanaf,%
+ cbyeditorcpanfo,%
+ cbyeditorcpanin,%
+ cbyeditorcpco,%
+ cbyeditorcpcoaf,%
+ cbyeditorcpcofo,%
+ cbyeditorcpcoin,%
+ cbyeditorcpfo,%
+ cbyeditorcpin,%
+ cbyeditorfo,%
+ cbyeditorin,%
+ cbyeditortr,%
+ cbyeditortraf,%
+ cbyeditortran,%
+ cbyeditortranaf,%
+ cbyeditortranfo,%
+ cbyeditortranin,%
+ cbyeditortrco,%
+ cbyeditortrcoaf,%
+ cbyeditortrcofo,%
+ cbyeditortrcoin,%
+ cbyeditortrcp,%
+ cbyeditortrcpaf,%
+ cbyeditortrcpan,%
+ cbyeditortrcpanaf,%
+ cbyeditortrcpanfo,%
+ cbyeditortrcpanin,%
+ cbyeditortrcpco,%
+ cbyeditortrcpcoaf,%
+ cbyeditortrcpcofo,%
+ cbyeditortrcpcoin,%
+ cbyeditortrcpfo,%
+ cbyeditortrcpin,%
+ cbyeditortrfo,%
+ cbyeditortrin,%
+ cbyfounder,%
+ cbynone,%
+ cbyorganizer,%
+ cbyproducer,%
+ cbyredactor,%
+ cbytranslator,%
+ cbytranslatoraf,%
+ cbytranslatoran,%
+ cbytranslatoranaf,%
+ cbytranslatoranfo,%
+ cbytranslatoranin,%
+ cbytranslatorco,%
+ cbytranslatorcoaf,%
+ cbytranslatorcofo,%
+ cbytranslatorcoin,%
+ cbytranslatorcp,%
+ cbytranslatorcpaf,%
+ cbytranslatorcpan,%
+ cbytranslatorcpanaf,%
+ cbytranslatorcpanfo,%
+ cbytranslatorcpanin,%
+ cbytranslatorcpco,%
+ cbytranslatorcpcoaf,%
+ cbytranslatorcpcofo,%
+ cbytranslatorcpcoin,%
+ cbytranslatorcpfo,%
+ cbytranslatorcpin,%
+ cbytranslatorfo,%
+ cbytranslatorin,%
+ century,%
+ cfromamerican,%
+ cfrombrazilian,%
+ cfrombulgarian,%
+ cfromcatalan,%
+ cfromcroatian,%
+ cfromczech,%
+ cfromdanish,%
+ cfromdutch,%
+ cfromenglish,%
+ cfromestonian,%
+ cfromfinnish,%
+ cfromfrench,%
+ cfromgalician,%
+ cfromgerman,%
+ cfromgreek,%
+ cfromitalian,%
+ cfromjapanese,%
+ cfromlatin,%
+ cfromnorwegian,%
+ cfrompolish,%
+ cfromportuguese,%
+ cfromrussian,%
+ cfromslovak,%
+ cfromslovene,%
+ cfromspanish,%
+ cfromswedish,%
+ cfromukrainian,%
+ choreographer,%
+ choreographers,%
+ commenton,%
+ conductor,%
+ conductors,%
+ decade,%
+ director,%
+ directors,%
+ discrecorded,%
+ edamerican,%
+ edbrazilian,%
+ edbulgarian,%
+ edcatalan,%
+ edcroatian,%
+ edczech,%
+ eddanish,%
+ eddutch,%
+ edenglish,%
+ edestonian,%
+ edfinnish,%
+ edfrench,%
+ edgalician,%
+ edgerman,%
+ edgreek,%
+ editalian,%
+ editorcompiler,%
+ editorcompilers,%
+ editortranscompiler,%
+ editortranscompilers,%
+ editortranslator,%
+ editortranslators,%
+ edjapanese,%
+ edlatin,%
+ ednorwegian,%
+ edpolish,%
+ edportuguese,%
+ edrussian,%
+ edslovak,%
+ edslovene,%
+ edspanish,%
+ edswedish,%
+ edukrainian,%
+ forewordto,%
+ hereinafter,%
+ inlang,%
+ introductionto,%
+ none,%
+ nones,%
+ note,%
+ numbers,%
+ of,%
+ on,%
+ origedition,%
+ origpub,%
+ origpublin,%
+ origpubyear,%
+ origpubyearalt,%
+ origreleaseyear,%
+ origshownyear,%
+ partvolume,%
+ patentfiled,%
+ patentissued,%
+ preface,%
+ printed,%
+ producer,%
+ producers,%
+ pseudonym,%
+ review,%
+ revisededition,%
+ selfpublished,%
+ songrecorded,%
+ subsection,%
+ subsections,%
+ subverbis,%
+ subverbo,%
+ supranote,%
+ track,%
+ transcompiler,%
+ transcompilers%
+ }%
+
\endinput