summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx2984
1 files changed, 2644 insertions, 340 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx
index b132de4700c..e14d9114aaf 100644
--- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.bbx
@@ -1,10 +1,8 @@
-% $Id: chicago-notes.bbx,v 0.10.1.14 2018/01/11 09:17:35 dfussner Exp $
-% This is a biblatex style file, adapted mainly from Lehman's standard.bbx
-% It provides the bibliography formatting for the Chicago notes +
-% bibliography style.
+% This is a biblatex style file, originally adapted mainly from
+% Lehman's standard.bbx. It provides the bibliography formatting for
+% the Chicago notes + bibliography style.
-
-\ProvidesFile{chicago-notes.bbx}[2018/01/11 v 3.10 biblatex bibliography style]
+\ProvidesFile{chicago-notes.bbx}[2020/04/20 v 3.14 biblatex bibliography style]
%%%% Initialize and format bibliography and los %%%%
@@ -13,6 +11,8 @@
\DeclareFieldFormat{shorthandwidth}{#1}
+\DeclareFieldFormat{shortserieswidth}{#1}
+
\DeclareFieldFormat{shortjournalwidth}{%
\ifthenelse{\ifentrytype{jurisdiction}\OR%
\ifentrytype{legal}\OR\ifentrytype{legislation}}%
@@ -33,7 +33,7 @@
\defbibenvironment{shorthand}%
{\list
- {\printfield[shorthandwidth]{shorthand}}%
+ {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}%
{\setlength{\labelwidth}{\shorthandwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
@@ -44,22 +44,9 @@
{\endlist}
{\item}
-\defbibenvironment{shorthands}% For biblatex < 2.9
- {\list
- {\printfield[shorthandwidth]{shorthand}}%
- {\setlength{\labelwidth}{\shorthandwidth}%
- \setlength{\leftmargin}{\labelwidth}%
- \setlength{\labelsep}{\biblabelsep}%
- \addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\lositemsep}%
- \setlength{\parsep}{\bibparsep}%
- \renewcommand*{\makelabel}[1]{##1\hss}}}
- {\endlist}
- {\item}
-
\defbibenvironment{losnotes}
{\list
- {\printfield[shorthandwidth]{shorthand}}%
+ {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}%
{\footnotesize%
\setlength{\labelwidth}{\shorthandwidth}%
\setlength{\leftmargin}{\labelwidth}%
@@ -73,7 +60,7 @@
\defbibenvironment{losendnotes}
{\list
- {\printfield[shorthandwidth]{shorthand}}%
+ {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}%
{\enotesize%
\setlength{\labelwidth}{\shorthandwidth}%
\setlength{\leftmargin}{\labelwidth}%
@@ -144,6 +131,57 @@
% {\savefield{shortjournal}{\cms@shjour}}}%
% {\savefield{shortjournal}{\cms@shjour}}}
+\defbibenvironment{shortseries}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.7\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shsernotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shserendnotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}
+ {\item}
+
+\defbibcheck{shortseries}{% Only one list
+ \ifthenelse{\iffieldundef{shortseries}\OR%
+ \iffieldundef{series}\OR%
+ \iffieldsequal{series}{shortseries}}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shortseries}}%
+ {\skipentry}%
+ {\savefieldcs{shortseries}%
+ {\strfield{shortseries}}}}}%
+
\AtBeginBibliography{%
\togglefalse{cms@headlessnote}%
\togglefalse{cms@shortnote}%
@@ -153,9 +191,7 @@
\AtEveryBibitem{%
\global\csundef{@cmsst}%
- \iffieldequalstr{pubstate}{reprint}%
- {\toggletrue{cms@reprint}}%
- {\togglefalse{cms@reprint}}%
+ \togglefalse{cms@postvol}% MT fix
\ifboolexpr{%
test {\iffieldundef{origyear}}%
or
@@ -182,9 +218,6 @@
\AtEveryLositem{%
\global\csundef{@cmsst}%
- \iffieldequalstr{pubstate}{reprint}%
- {\toggletrue{cms@reprint}}%
- {\togglefalse{cms@reprint}}%
\ifboolexpr{%
test {\iffieldundef{origyear}}%
or
@@ -220,8 +253,10 @@
\let\bbx@lasthash\undefined}
%%%% Bibliography-specific bibstrings %%%%
-
-%% Now in *.lbx %%
+% \NewBibliographyString{note,preface,subsection,subsections,selfpublished,%
+% commenton,printed,track,choreographer,choreographers,cbychoreographer,%
+% bychoreographer}%
+%% Now below %%
%%%% Author, Editor, Translator, and Compiler Macros %%%%
@@ -346,11 +381,19 @@
\newbibmacro*{justauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\iftoggle{cms@origcite}{}{\let\bbx@lasthash\undefined}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%\addperiod\addspace
+ {\printtext{\bibnamedash}%
+ \ifentrytype{customc}%
+ {\newunit}%
+ {\setunit{\addspace}}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
@@ -358,16 +401,25 @@
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\printnames{author}%
+ \ifentrytype{customc}%
+ {\ifbibliography{\newunit}{\newcunit}}%
+ {\setunit{\addspace}}%
+ \printfield{nameaddon}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{moreauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\usebibmacro{pickeditor}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%\addperiod\addspace
+ {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
@@ -375,6 +427,8 @@
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\printnames{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{pickeditor}{%
@@ -384,13 +438,23 @@
\newbibmacro*{moreeditor}{%
\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
- {\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
- {\printnames{editor}\editordelim%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{editstrg}}}
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{editstrg}}}
\renewbibmacro*{editor}{%
\iftoggle{cms@headlessnote}%
@@ -398,28 +462,58 @@
{\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
{\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
- {\printnames{editor}\editordelim%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{editstrg}}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parteditstrg}}}}%
\newbibmacro*{parteditor}{%
\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
- {\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{parteditstrg}}}
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parteditstrg}}}
\newbibmacro*{picktranslator}{%
\ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
@@ -428,31 +522,61 @@
\newbibmacro*{moretranslator}{%
\ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}%
- {\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
- {\printnames[sortname]{translator}\addcomma\addspace%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{transstrg}}}
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{translator}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{transstrg}}}
\newbibmacro*{parttranslator}{%
\ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
- {\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
- {\printnames[sortname]{nameb}\addcomma\addspace%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{parttransstrg}}}
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{nameb}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parttransstrg}}}
\newbibmacro*{compiler}{%
\ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}%
{\let\bbx@lasthash\undefined}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
- {\printnames[sortname]{namec}\addcomma\addspace%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{namec}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{compilestrg}}}
@@ -472,14 +596,29 @@
{\ifnameundef{labelname}%
{\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
\ifentrytype{periodical}}%
- {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}%
- \newcunit}}%
- {\ifentrytype{manual}%
- {\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
+ {\printfield[journaltitle]{journaltitle}\newcunit}%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printlist{organization}\newcunit}%
{}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\addspace}}%
- \printfield[lostitle]{title}%
+ {\ifthenelse{\ifentrytype{customc}\OR\ifentrytype{dataset}}%
+ {\usebibmacro{justauthor}\setunit{\addspace}}%
+ {\usebibmacro{author/editor}\newunit}}%
+ \ifboolexpr{%
+ test {\ifentrytype{video}}%
+ and
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ }%
+ {\printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}% (?)
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}}%
+ {\printfield[lostitle]{title}}%
\finentry}}
\DeclareBibliographyDriver{shortjournal}{%
@@ -498,6 +637,9 @@
\printlist[periodplace]{location}}%
\finentry}%
+\DeclareBibliographyDriver{shortseries}{%
+ \printfield{series}\finentry}
+
\DeclareStyleSourcemap{
\maps[datatype=bibtex]{
\map{
@@ -514,9 +656,16 @@
}
\map[overwrite]{
\pertype{jurisdiction}
- \step[fieldsource=shortjournal, match=\regexp{[^\\adddot][a-z]}, final]
+ \step[fieldsource=shortjournal, match=\regexp{\\adddot},%
+ replace=\regexp{\\ADDDOT}]
+ \step[fieldsource=shortjournal, match=\regexp{[a-z]}, final]
\step[fieldset=shortjournal, fieldvalue=\addnbspace, append]
}
+ \map[overwrite]{
+ \pertype{jurisdiction}
+ \step[fieldsource=shortjournal, match=\regexp{\\ADDDOT},%
+ replace=\regexp{\\adddot}]
+ }
\map{
\pertype{legislation}
\step[fieldsource=title, match=\regexp{Const}, final]
@@ -531,10 +680,24 @@
replace={canadasection}]
}
\map{
- \step[fieldsource=pubstate, match={forthcoming}, final]
+ \step[fieldsource=pubstate, match=\regexp{forthcoming|inpreparation|%
+ submitted|inpress}, final]
\step[fieldset=year, origfieldval, final]
- \step[fieldsource=year, match=\regexp{(forthcoming)},
+ \step[fieldsource=year, match=\regexp{(forthcoming|inpreparation|%
+ submitted|inpress)},
replace=\regexp{\\bibstring\{$1\}}]%$
+ \step[fieldset=pubstate, null]
+ }
+ \map[overwrite]{
+ \step[fieldsource=relatedtype, match=\regexp{maintitle}, final]
+ \step[fieldsource=options, final]
+ \step[fieldsource=options, notmatch=\regexp{related=true}, final]
+ \step[fieldset=options, fieldvalue=\regexp{,related=true}, append]
+ }
+ \map{
+ \step[fieldsource=relatedtype, match=\regexp{maintitle}, final]
+ \step[notfield=options, final]
+ \step[fieldset=options, fieldvalue=\regexp{related=true}]
}
\map{
\pertype{article}
@@ -545,6 +708,59 @@
replace={magazine}]
}
\map[overwrite]{
+ \pertype{article}
+ \pertype{review}
+ \pertype{suppperiodical}
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[fieldsource=options, final]
+ \step[fieldsource=options, notmatch=\regexp{related=true}, final]
+ \step[fieldset=options, fieldvalue=\regexp{,related=true}, append]
+ }
+ \map{
+ \pertype{article}
+ \pertype{review}
+ \pertype{suppperiodical}
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[notfield=options, final]
+ \step[fieldset=options, fieldvalue=\regexp{related=true}]
+ }
+ \map{
+ \pertype{review}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[fieldsource=related, final]
+ \step[fieldset=title, origfieldval]
+ }
+ \map[overwrite]{
+ \pertype{review}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[fieldsource=related, final]
+ \step[fieldsource=related, match=\regexp{(.*)}]
+ \step[fieldsource=title, match=\regexp{^$1$}, final]
+ \step[fieldsource=relatedtype]
+ \step[fieldset=title, origfieldval, append]
+ \step[fieldsource=relatedstring, final]
+ \step[fieldset=title, origfieldval, append]
+ }
+ \map{
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=commenton, final]
+ \step[fieldsource=related, final]
+ \step[fieldset=title, fieldvalue=CCCCCC]
+ }
+ \map[overwrite]{
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=commenton, final]
+ \step[fieldsource=title, match=\regexp{^CCCCCC$}, final]%$
+ \step[fieldsource=related, final]
+ \step[fieldset=title, origfieldval, append]
+ \step[fieldsource=relatedstring, final]
+ \step[fieldset=title, origfieldval, append]
+ }
+ \map[overwrite]{
\step[fieldsource=subtitle, final]
\step[fieldsource=title,
match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
@@ -579,33 +795,88 @@
final]
\step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
}
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[entryclone=$1-$MAPLOOP]
+ \step[fieldset=related, fieldvalue=$MAPLOOP,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=sorttitle, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[fieldset=sorttitle, fieldvalue=$MAPLOOP, append,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldset=relatedtype, null]
+ \step[fieldset=related, null]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=maintitlenc, final]
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[entryclone=$1-$MAPLOOP, entrynocite]
+ \step[fieldset=related, fieldvalue=$MAPLOOP,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=maintitlenc, final]
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=sorttitle, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[fieldset=sorttitle, fieldvalue=$MAPLOOP, append,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=maintitlenc, final]
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldset=relatedtype, null]
+ \step[fieldset=related, null]
+ }
+ \map{
+ \pertype{video}
+ \step[fieldsource=entrysubtype, match=tvepisode, final]
+ \step[fieldsource=title, final]
+ \step[fieldsource=booktitle, final]
+ \step[fieldset=sorttitle, origfieldval]
+ }
}
}%
-\DeclareBibliographyDriver{shorthands}{% For biblatex < 2.9
- \iftoggle{cms@fullshhand}%
- {\usedriver{\frenchspacing}%
- {\thefield{entrytype}}%
- \finentry}%
- {\ifnameundef{labelname}%
- {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
- \ifentrytype{periodical}}%
- {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}%
- \newcunit}}%
- {\ifentrytype{manual}%
- {\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
- {}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\addspace}}%
- \printfield[lostitle]{title}%
- \finentry}}
-
\DeclareBibliographyDriver{article}{%
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{mag+news+author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{mag+news+title}%
\setunit{\addspace}%
@@ -616,10 +887,12 @@
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% 17th ed. clarifies punctuation
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock%
\usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
\newcunit\newblock
\usebibmacro{chap+pag}%
\newunit\newblock
@@ -637,6 +910,8 @@
togl {cms@related}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -646,8 +921,6 @@
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{mag+news+title}%
\setunit{\addspace}%
@@ -660,7 +933,7 @@
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% As above
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
\usebibmacro{journal+issue+year+pages}%
@@ -679,6 +952,8 @@
togl {cms@related}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -691,28 +966,36 @@
\DeclareBibliographyDriver{artwork}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
- \newcunit\newblock
- \usebibmacro{date}%
+ \newunit\newblock
+ \iffieldundef{origyear}% 17th ed.
+ {\printdate}%
+ {\usebibmacro{cmsorigdate}}%
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
- \printfield{howpublished}%
+ \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed.
+ {}%
+ {\usebibmacro{date}}%
\newunit\newblock
\printfield{type}%
\newcunit\newblock
- \printfield{version}%
+ \printfield[type]{version}%
\newcunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{institution+organization}%
\setunit*{\addcomma\addspace}\newblock
\printlist{location}%
+ \newunit
+ \printfield{howpublished}% 17th ed.
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}% 17th ed.
\newunit\newblock
\printfield{addendum}%
\setunit*{\addcomma\addspace}\newblock%
@@ -731,15 +1014,17 @@
\DeclareBibliographyDriver{audio}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit\newblock% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{part+editor+translator}%
- \newcunit%\setunit{\addperiod\addspace}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}% 17th ed.
+ \iffieldundef{eventyear}%
+ {\newcunit}%
+ {\newunit}%
\usebibmacro{chapinscore}%
\usebibmacro{btitle+bstitle}%
\iffieldundef{booktitle}%
@@ -748,7 +1033,7 @@
\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}%
- \newunit% unit, not cunit?
+ \usebibmacro{editorpunct}%\newunit%?
\usebibmacro{bybookauthor}%
\usebibmacro{byeditor+others}%
\newunit% ??? Editorpunct maybe not right here?
@@ -809,21 +1094,21 @@
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
\usebibmacro{bib:xref+date}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%\newunit\newblock
\iffieldundef{maintitle}%
{\iffieldundef{edition}%
{}%
- {\usebibmacro{edition}}}%
+ {\usebibmacro{edition}}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{version}}%
{}%
- \newunit\newblock% 16th ed.
+ \usebibmacro{related:mtpunct}%
\usebibmacro{byauthor}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{part+editor+translator}%
\newunit\newblock
\ifboolexpr{%
@@ -841,6 +1126,10 @@
\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}%
+ \newcunit
+ \iffieldundef{version}%
+ {}%
+ {\printfield{version}}%
\usebibmacro{editorpunct}%
\usebibmacro{byeditor+others}%
\usebibmacro{editorpunct}%\newcunit\newblock
@@ -861,6 +1150,8 @@
\newcunit
\printlist[][-\value{listtotal}]{lista}%
\newunit\newblock
+ \printfield{type}% 17th ed.
+ \newunit\newblock
\printfield{addendum}%
\setunit*{\addcomma\addspace}\newblock%
\iftoggle{cms@isbn}%
@@ -871,7 +1162,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -889,7 +1184,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -907,7 +1206,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -918,8 +1221,6 @@
\DeclareBibliographyDriver{bookinbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
@@ -936,6 +1237,17 @@
\usebibmacro{part+editor+translator}%
\setunit*{\addperiod\addspace}%
\ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
test {\iffieldundef{crossref}}%
or
togl {cms@bookbibxref}%
@@ -977,7 +1289,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -995,7 +1311,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1013,19 +1333,51 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
{}%
\usebibmacro{originally+published+as}%
- \usebibmacro{finentry}}}
+ \usebibmacro{finentry}}}%
+{\entrydata{\thefield{related}}{%
+ \ifboolexpr{%
+ test {\ifentryinbib{\strfield{clonesourcekey}}}%
+ and
+ not togl {cms@bookbibxref}%
+ }%
+ {\savefield{clonesourcekey}{\cms@shortmtkey}}%
+ {}}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}}
\DeclareBibliographyDriver{booklet}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit\newblock% 16th ed.
@@ -1043,7 +1395,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1054,13 +1410,11 @@
\DeclareBibliographyDriver{collection}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
\usebibmacro{bib:xref+date}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{part+editor+translator}%
\newunit\newblock
\ifboolexpr{%
@@ -1082,6 +1436,14 @@
\usebibmacro{byeditor+others}%
\newunit
\usebibmacro{volume+or+volumes}%
+ \ifcsdef{cms@mtchapter}%
+ {\newcunit\newblock
+ \printfield{chapter}}%
+ {}%
+ \ifcsdef{cms@mtpages}%
+ {\newcunit\newblock
+ \printfield{pages}}%
+ {}%
\newunit\newblock
\usebibmacro{ser+num}%
\newunit\newblock
@@ -1099,9 +1461,13 @@
\setunit*{\addcomma\addspace}\newblock%
\usebibmacro{bib+doi+url}%
\newunit\newblock
- \usebibmacro{pageref}%
+ \usebibmacro{pageref}%!!!\printlist{pageref}::\strlist{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1119,7 +1485,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1137,7 +1507,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1147,32 +1521,105 @@
\DeclareBibliographyDriver{customc}{%
\usebibmacro{bibindex}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newunit}%
+ {\setunit{\addspace}}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{dataset}{%
+ \usebibmacro{bibindex}%
\usebibmacro{author/editor}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \setunit{\addspace}\newblock%
+ \ifthenelse{\iffieldundef{howpublished}\AND%
+ \iffieldundef{number}\AND\iffieldundef{type}}%
+ {}%
+ {\printtext[parens]{%
+ \printfield{howpublished}%
+ \newcunit
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}}}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \setunit{\addsemicolon\addspace}%
+ \printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}%
\newunit\newblock
- \printfield{nameaddon}%
- \setunit*{\addspace}%
- \usebibmacro{italtitle+stitle}%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\printfield[prenote]{pubstate}}%
+ \setunit{\addspace}}%
+ \usebibmacro{date}%
+ \clearfield{urlyear}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{image}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
- \newcunit%\setunit{\addcomma\addspace}%
- \usebibmacro{date}%
+ \newunit%\setunit{\addcomma\addspace}%
+ \iffieldundef{origyear}%
+ {\printdate}%
+ {\usebibmacro{cmsorigdate}}%
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
- \printfield{howpublished}%
+ \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed.
+ {}%
+ {\usebibmacro{date}}%
\newunit\newblock
\printfield{type}%
\newcunit\newblock
- \printfield{version}%
+ \printfield[type]{version}%
\newcunit\newblock
\printfield{note}%
\newunit\newblock
@@ -1180,13 +1627,23 @@
\setunit*{\addcomma\addspace}\newblock
\printlist{location}%
\newunit\newblock
+ \printfield{howpublished}% 17th ed.
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}% 17th ed.
+ \newunit\newblock
\printfield{addendum}%
\setunit*{\addcomma\addspace}\newblock%
\usebibmacro{bib+doi+url}%
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1197,8 +1654,6 @@
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%\bibsentence
@@ -1208,6 +1663,17 @@
\setunit{\addperiod\addspace}%
\usebibmacro{part+editor+translator}%
\ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
test {\iffieldundef{crossref}}%
or
togl {cms@bibcrossref}%
@@ -1248,7 +1714,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1267,7 +1737,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1286,19 +1760,45 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
{}%
\usebibmacro{originally+published+as}%
- \usebibmacro{finentry}}}
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%\bibsentence
@@ -1308,6 +1808,17 @@
\newunit\newblock
\usebibmacro{part+editor+translator}%
\ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
test {\iffieldundef{crossref}}%
or
togl {cms@bibcrossref}%
@@ -1348,7 +1859,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1367,7 +1882,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1386,19 +1905,45 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
{}%
\usebibmacro{originally+published+as}%
- \usebibmacro{finentry}}}
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
\DeclareBibliographyDriver{inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%
@@ -1408,6 +1953,17 @@
\setunit{\addperiod\addspace}%
\usebibmacro{part+editor+translator}%
\ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
test {\iffieldundef{crossref}}%
or
togl {cms@bibcrossref}%
@@ -1441,7 +1997,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1460,7 +2020,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1479,24 +2043,53 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
{}%
\usebibmacro{originally+published+as}%
- \usebibmacro{finentry}}}
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
\DeclareBibliographyDriver{inreference}{%
\usebibmacro{bibindex}%
+ \iftoggle{cms@mtvolpunct}{\newcunit}{}%
\usebibmacro{italtitle+stitle}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%\newunit\newblock
\ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
{\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}}%
{}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%\newunit\newblock
\usebibmacro{part+editor+translator}%
\setunit*{\addperiod\addspace}% need asterisk?
\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
@@ -1526,7 +2119,7 @@
\ifnameundef{author}%
{}%
{\printtext{% 16th ed
- \bibstring{by}%
+ \bibstring{byauthor}%
\addspace%
\printnames[byauthor]{author}}}%
\newunit\newblock
@@ -1540,7 +2133,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1557,8 +2154,6 @@
\DeclareBibliographyDriver{letter}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\printtext[title]{%
\printfield[noformat]{title}}%
@@ -1572,6 +2167,17 @@
\usebibmacro{part+editor+translator}%
\setunit*{\addperiod\addspace}%
\ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
test {\iffieldundef{crossref}}%
or
togl {cms@bibcrossref}%
@@ -1609,7 +2215,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1628,7 +2238,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1647,19 +2261,45 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
{}%
\usebibmacro{originally+published+as}%
- \usebibmacro{finentry}}}
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
\DeclareBibliographyDriver{manual}{%
\usebibmacro{bibindex}%
\usebibmacro{bibauthor+org}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit\newblock
@@ -1685,7 +2325,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1696,8 +2340,6 @@
\DeclareBibliographyDriver{misc}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\iffieldundef{entrysubtype}%
{\usebibmacro{italtitle+stitle}}%
@@ -1709,7 +2351,9 @@
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
\newcunit\newblock%
- \usebibmacro{unpubl+letter+date}}%
+ \usebibmacro{unpubl+letter+date}%
+ \newcunit
+ \printlist{origlocation}}% 17th ed.
\newunit% 16th ed.
\usebibmacro{byauthor}%
\newunit\newblock
@@ -1723,7 +2367,10 @@
\newunit\newblock
\printfield{note}%
\newunit\newblock
- \usebibmacro{institution+organization}%
+ \iffieldundef{entrysubtype}%
+ {\printfield{venue}\setunit*{\addcomma\addspace}}%
+ {}%
+ \usebibmacro{misc+institution+organization}%
\setunit*{\addcomma\addspace}\newblock
\printlist{location}%
\iffieldundef{entrysubtype}%
@@ -1737,7 +2384,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1748,8 +2399,6 @@
\DeclareBibliographyDriver{music}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit% 16th ed.
@@ -1757,9 +2406,16 @@
\newunit\newblock
\usebibmacro{part+editor+translator}%
\newunit\newblock
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\usebibmacro{byeditor+others}\newunit\newblock}{}%
\usebibmacro{music+eventdate}%
\newunit\newblock
- \usebibmacro{chapinscore}%
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{chap+as+track}%inscore% 17th ed.
+ \usebibmacro{music+bookauthor}% Ditto.
\usebibmacro{btitle+bstitle}%
\iffieldundef{booktitle}%
{\newunit}% Fix customc?
@@ -1767,9 +2423,9 @@
\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}%
- \newunit% unit, not cunit?
- \usebibmacro{bybookauthor}%
- \usebibmacro{byeditor+others}%
+ \usebibmacro{editorpunct}%\newunit% unit, not cunit?
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {}{\usebibmacro{byeditor+others}}%
\newunit% ??? Editorpunct maybe not right here?
\iffieldundef{maintitle}%
{}%
@@ -1796,15 +2452,15 @@
\usebibmacro{volume+pages}%
\newunit\newblock
\printfield{version}%
- \newunit\newblock
- \printfield{note}%
\newunit\newblock%
- \usebibmacro{music+origdate}%\printtext[eventdate]{\printeventdate}%
+ \usebibmacro{music+origdate}% Altered for 17th ed.
\newunit\newblock
\printlist{publisher}%
\setunit*{\addcomma\addspace}\newblock
- \printfield{series}%
- \setunit{\addspace}%
+ \usebibmacro{series+or+shortser}%
+ \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}%
+ {\newunit}%
+ {\setunit{\addspace}}%
\printfield{number}%
\newcunit\newblock
\usebibmacro{date}%
@@ -1815,7 +2471,7 @@
\newcunit\newblock
\printfield{type}%
\newunit\newblock
- \usebibmacro{pubstate}% 16th ed.
+ \usebibmacro{music+pubstate}% 17th ed.
\newunit\newblock
\printfield{addendum}%
\setunit*{\addcomma\addspace}\newblock%
@@ -1827,7 +2483,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1835,35 +2495,494 @@
\usebibmacro{originally+published+as}%
\usebibmacro{finentry}}
-\DeclareBibliographyAlias{mvbook}{book}
+\DeclareBibliographyDriver{mvbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{related:mtpunct}%\newunit\newpunct%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \usebibmacro{mt+mvnames+save}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byauthor}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\usebibmacro{related:mtpunct}%newunit
+ \usebibmacro{volume+or+volumes}}%
+ \usebibmacro{related:mtpunct}%newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%cmsorigdate%\printorigdate
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newcunit
+ \printlist[][-\value{listtotal}]{lista}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
-\DeclareBibliographyAlias{mvcollection}{collection}
+\DeclareBibliographyDriver{mvcollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \usebibmacro{related:mtpunct}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\usebibmacro{related:mtpunct}%newunit
+ \usebibmacro{volume+or+volumes}}%
+ \usebibmacro{related:mtpunct}%newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
-\DeclareBibliographyAlias{mvproceedings}{proceedings}
+\DeclareBibliographyDriver{mvproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\usebibmacro{related:mtpunct}%newunit
+ \usebibmacro{volume+or+volumes}}%
+ \usebibmacro{related:mtpunct}%newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
-\DeclareBibliographyAlias{mvreference}{reference}
+\DeclareBibliographyDriver{mvreference}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newunit\newblock%\usebibmacro{related:mtpunct}% mvref always first
+ \usebibmacro{bybookauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%\usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\newunit
+ \usebibmacro{volume+or+volumes}}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
\DeclareBibliographyDriver{online}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
- \usebibmacro{title+stitle}%
- \setunit{\addspace}%
- \usebibmacro{language+transtitle}%
- \newunit% 16th ed.
- \usebibmacro{byauthor}%
- \newunit\newblock
- \printlist{organization}% Rearranged for 16th ed.
+ \IfBeginWith{\thefield{title}}{CCCCCC}%
+ {}%
+ {\usebibmacro{title+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printlist{organization}% Rearranged for 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newcunit\newblock}% 17th ed.
+ \usebibmacro{date}%
+ \usebibmacro{time+stamp}% Ditto
\newunit\newblock
- \printfield{note}%
+ \printfield{type}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}% Ditto
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {}%
\newunit\newblock
- \usebibmacro{date}%
+ \printfield{addendum}%
\newunit\newblock
\iffieldundef{urlyear}%
{}%
- {\printurldate}% Date fix
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
\newunit\newblock
\iftoggle{cms@doionly}%
{\iffieldundef{doi}%
@@ -1876,11 +2995,15 @@
\newunit\newblock
\printfield{url}%
\newunit\newblock
- \printfield{addendum}%
- \newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1892,7 +3015,14 @@
\usebibmacro{bibindex}%
\usebibmacro{author+holder}% + holder?
\newunit\newblock
- \usebibmacro{title}%
+ \iffieldundef{title}%
+ {}%
+ {\printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
\setunit{\addperiod\addspace}%
@@ -1925,19 +3055,67 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{performance}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{venue}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
{}%
+ \usebibmacro{originally+published+as}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{periodical}{%
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{issuetitle}%
\setunit{\addspace}%
@@ -1965,8 +3143,6 @@
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{issuetitle}%
\setunit{\addspace}%
@@ -1978,7 +3154,7 @@
\newunit\newblock
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
- \usebibmacro{periodical+issue+year+pages}%
+ \usebibmacro{journal+issue+year+pages}%
\newunit\newblock
\printfield{addendum}%
\setunit*{\addcomma\addspace}\newblock%
@@ -1990,7 +3166,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2001,13 +3181,11 @@
\DeclareBibliographyDriver{proceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
\usebibmacro{bib:xref+date}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{part+editor+translator}%
\newunit\newblock
\ifboolexpr{%
@@ -2042,7 +3220,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2060,7 +3242,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2078,7 +3264,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2088,14 +3278,15 @@
\DeclareBibliographyDriver{reference}{%
\usebibmacro{bibindex}%
+ \iftoggle{cms@mtvolpunct}{\newcunit}{}%
\usebibmacro{italtitle+stitle}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%\newunit\newblock
\ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
{\iffieldundef{edition}%
{}%
{\usebibmacro{edition}}}%
{}%
- \newunit\newblock
+ \usebibmacro{related:mtpunct}%
\usebibmacro{part+editor+translator}%
\setunit*{\addperiod\addspace}% need asterisk?
\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
@@ -2130,7 +3321,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2141,8 +3336,6 @@
\DeclareBibliographyDriver{report}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\iffieldequalstr{entrysubtype}{unpublished}%
{\usebibmacro{title+stitle}}%
@@ -2152,8 +3345,10 @@
\newunit\newblock
\printfield{type}%
\newcunit
- \printfield{series}%
- \setunit{\addnbspace}%
+ \usebibmacro{series+or+shortser}%
+ \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}%
+ {\newunit}%
+ {\setunit{\addnbspace}}%
\printfield{number}%
\newunit
\printfield{note}%
@@ -2170,7 +3365,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2184,14 +3383,18 @@
{\usebibmacro{mag+news+author}}%
{\usebibmacro{author/editor}}%
\newunit\newblock
- \printeventdate% 16th ed.
- \setunit{\addspace}%
- \printfield{nameaddon}% 16th ed.
+ \usebibmacro{music+eventdate}% 17th ed.
+ \newcunit\newblock
+ \printeventtime%
\newunit\newblock
\ifboolexpr{%
togl {cms@related}%
and
+ (
test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
}%
{\usebibmacro{related:init}%
\usebibmacro{related}}%
@@ -2204,23 +3407,126 @@
\usebibmacro{language+transtitle}%
\newunit\newblock%
\usebibmacro{part+editor+translator}%
- \newunit\newblock%
- \usebibmacro{issuetitle}%
- \setunit*{\addcomma\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\newunit\newblock%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% 17th ed. clarifies punctuation
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}}%
+ {\usebibmacro{journal+issue+year+pages}}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock}%
+ {\newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock}}%
+ {\newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock}%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{standard}{%
+ \usebibmacro{bibindex}%
+ \ifnameundef{author}%
+ {\iflistundef{organization}%
+ {}%
+ {\ifboolexpr{%
+ test {\iflistequals{organization}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\printlist{organization}%
+ \savelist{organization}{\bbx@lasthash}}}}%
+ {\usebibmacro{justauthor}}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock
+ \usebibmacro{series+or+shortser}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
\printfield{note}%
- \setunit*{\addcomma\addspace}\newblock%
- \iffieldequalstr{entrysubtype}{magazine}%
- {\usebibmacro{mag+news+date}%
- \newcunit\newblock
- \usebibmacro{chap+pag}}%
- {\usebibmacro{journal+issue+year+pages}}%
+ \newunit\newblock%
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed.
+ \reprintpunct%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\biblstring{\thefield{pubstate}}}%
+ {\printfield[prenote]{pubstate}}%
+ \newcunit}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\iflistundef{organization}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{organization}%
+ \setunit*{\addcomma\addspace}}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}}%
+ \usebibmacro{date}
+ \setunit{\addsemicolon\addspace}%
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
\newunit\newblock
\printfield{addendum}%
\setunit*{\addcomma\addspace}\newblock%
\iftoggle{cms@isbn}%
- {\printfield{issn}}%
+ {\printfield{isbn}}%
{}%
\setunit*{\addcomma\addspace}\newblock%
\usebibmacro{bib+doi+url}%
@@ -2230,7 +3536,7 @@
\ifboolexpr{%
togl {cms@related}%
and
- not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -2242,8 +3548,6 @@
\DeclareBibliographyDriver{suppbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{inforaft}%
\setunit{\addspace}\newblock
@@ -2257,6 +3561,8 @@
\newcunit
\usebibmacro{bybookauthor}%
\newcunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newcunit\newblock
\usebibmacro{chap+pag}%
\newunit\newblock
\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
@@ -2287,7 +3593,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2302,8 +3612,6 @@
\DeclareBibliographyDriver{thesis}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}%\newblock%
@@ -2321,7 +3629,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2332,8 +3644,6 @@
\DeclareBibliographyDriver{unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%
@@ -2365,7 +3675,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2375,27 +3689,50 @@
\DeclareBibliographyDriver{video}{%
\usebibmacro{bibindex}%
- \usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newunit\newblock
- \printtext[title]{%
- \printfield[noformat]{title}%
- \setunit{\subtitlepunct}%
- \printfield[noformat]{subtitle}}%
- \iffieldundef{booktitle}% Comma after italics, period after quotes
- {\setunit{\ctitleaddonpunct}}%
- {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock%
- \printfield{titleaddon}%\usebibmacro{title+stitle}%
- \setunit{\addspace}\newblock%\bibsentence
- \usebibmacro{language+transtitle}%
- \setunit{\addperiod\addspace}% 16th ed.
- \usebibmacro{byauthor}%
- \setunit{\addperiod\addspace}%
- \usebibmacro{part+editor+translator}%
- \setunit{\addperiod\addspace}%
- \usebibmacro{chapinscore}%
- \usebibmacro{btitle+bstitle}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ (
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ )
+ }%
+ {\usebibmacro{author/editor}%
+ \newunit\newblock
+ \printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{booktitleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}}%
+ {\usebibmacro{author/editor}%
+ \newunit\newblock
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \iffieldundef{booktitle}% Comma after italics, period after quotes
+ {\setunit{\ctitleaddonpunct}}%
+ {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock%
+ \printfield{titleaddon}%\usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}}%
\iffieldundef{booktitle}%
{\setunit{\addperiod\addspace}}% Fix customc?
{\setunit{\addcomma\addspace}}%
@@ -2432,12 +3769,14 @@
\newunit\newblock
\usebibmacro{ser+num}%
\newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
\usebibmacro{music+eventdate}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{usera}%
\newunit\newblock
\usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
\newunit\newblock
- \printfield{note}%
- \newunit\newblock
\usebibmacro{publ+loc+year}%
\newunit\newblock
\printfield{type}% 16th ed.
@@ -2452,7 +3791,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2467,8 +3810,15 @@
togl {cms@url}%
and
not test {\iffieldundef{urlyear}}%
+ }%
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
}%
- {\printurldate}% Date fix
+ {\newcunit\printurltime}%
+ {}}% Date fix
{}%
\iffieldundef{addendum}% Punctuation fixes in 0.9.9c
{\newunit\newblock}%
@@ -2613,6 +3963,7 @@
\newbibmacro*{mtitle+mstitle+vol+part+btitle+bstitle}{%
\usebibmacro{btitle+bstitle}%
+ \newunit% MT Fix
\iffieldundef{maintitle}%
{}%
{\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR%
@@ -2637,8 +3988,10 @@
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}}}
-\newbibmacro*{journal+issue+year+pages}{%
- \usebibmacro{cjournal+ser+vol+num}%
+\newbibmacro*{journal+issue+year+pages}{% 17th ed. eid changes
+ \ifentrytype{periodical}%
+ {\usebibmacro{cperiodical+ser+vol+num}}%
+ {\usebibmacro{cjournal+ser+vol+num}}%
\ifboolexpr{% 16th ed.
test {\iffieldundef{issue}}%
and
@@ -2647,11 +4000,11 @@
not togl {cms@switchdates}%
}%
{\iffieldundef{number}%
- {\iffieldundef{bookpagination}%
+ {\ifthenelse{\iffieldundef{bookpagination}\AND\iffieldundef{eid}}%
{\setunit{\postvolpunct}}%
{\setunit{\addcolon\addspace}}%
- \printfield{pages}}%
- {\newcunit\printfield{pages}}}%
+ \usebibmacro{eid+or+pages}}%
+ {\newcunit\usebibmacro{eid+or+pages}}}%
{\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed.
{\newcunit%
\iffieldundef{issue}%
@@ -2659,7 +4012,7 @@
{\printfield{issue}%
\setunit{\addspace}%
\usebibmacro{cmsyear}}%
- \newcunit\printfield{pages}}%
+ \newcunit\usebibmacro{eid+or+pages}}%
{\setunit{\addspace}%
\printtext[parens]{%
\iffieldundef{issue}%
@@ -2668,40 +4021,12 @@
\setunit{\addspace}%
\usebibmacro{cmsyear}}}%
\setunit{\addcolon\addspace}%
- \printfield{pages}}}}
+ \usebibmacro{eid+or+pages}}}}
-\newbibmacro*{periodical+issue+year+pages}{%
- \usebibmacro{cperiodical+ser+vol+num}%
- \ifboolexpr{% 16th ed.
- test {\iffieldundef{issue}}%
- and
- test {\iffieldundef{year}}%
- and
- not togl {cms@switchdates}%
- }%
- {\iffieldundef{number}%
- {\iffieldundef{bookpagination}%
- {\setunit{\postvolpunct}}%
- {\setunit{\addcolon\addspace}}%
- \printfield{pages}}%
- {\newcunit\printfield{pages}}}%
- {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed.
- {\newcunit%
- \iffieldundef{issue}%
- {\usebibmacro{number+or+month}}%
- {\printfield{issue}%
- \setunit{\addspace}%
- \usebibmacro{cmsyear}}%
- \newcunit\printfield{pages}}%
- {\setunit{\addspace}%
- \printtext[parens]{%
- \iffieldundef{issue}%
- {\usebibmacro{number+or+month}}%
- {\printfield{issue}%
- \setunit{\addspace}%
- \usebibmacro{cmsyear}}}%
- \setunit{\addcolon\addspace}%
- \printfield{pages}}}}
+\newbibmacro*{eid+or+pages}{%
+ \iffieldundef{eid}%
+ {\printfield{pages}}%
+ {\printfield{eid}}}
\newbibmacro*{bycompiler}{%
\ifnameundef{namec}%
@@ -2852,14 +4177,716 @@
\usebibmacro{editorpunct}%
\usebibmacro{withafterword}}
+%%%% New date macros enabling special handling of seasons, decades,
+%%%% centuries, date eras, and uncertain dates (circa and ?), along
+%%%% with CMS compression of year ranges.
+
+\newcount\cms@tempcnta
+\newcount\cms@tempcntb
+
+\protected\def\cmsunspecified#1#2{%
+ \ifboolexpr{%
+ test {\iffieldundef{#2dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#2endyear}}%
+ or
+ test {\iffieldequalstr{#2dateera}{bce}}%
+ or
+ not togl {cms@compyears}%
+ or
+ not test {\iffieldnum{#2year}}%
+ or
+ not test {\iffieldnum{#2endyear}}%
+ or
+ not test {\if@cms@onlyyears{#2}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}%
+ {\cmscompcenturies{#2}%
+ \ifboolexpr{%
+ (
+ test {\if@cms@bracket}%
+ and
+ not test {\if@cms@endbracket}
+ )
+ or
+ (
+ not test {\if@cms@bracket}%
+ and
+ test {\if@cms@endbracket}%
+ )
+ or
+ (
+ test {\if@cms@endcirca}%
+ and
+ not test {\if@cms@circa}%
+ )
+ or
+ not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearindecade}}%
+ and
+ test {\ifbibstring{decade}}%
+ and
+ not togl {cms@decaderange}%
+ }%
+ {\cmsmkdecade{#1}{#2}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearincentury}}%
+ and
+ test {\ifbibstring{century}}%
+ and
+ not togl {cms@centuryrange}%
+ }%
+ {\cmsmkcentury{#2}}%
+ {\iftoggle{cms@compyears}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}%
+
+\protected\def\cmscompressyears#1{%
+ \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}%
+ \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}%
+ \cms@tempb}%
+
+\def\cmscompcenturies#1{%
+ \cms@tempcnta=\thefield{#1year}%
+ \divide\cms@tempcnta100
+ \cms@tempcntb=\thefield{#1endyear}%
+ \divide\cms@tempcntb100}
+
+\protected\def\cmsformatextra{}% Author-date requires these
+
+\protected\def\cmsformatendextra{}%
+
+\newbibmacro*{cmsextradate}{}%
+
+\newbibmacro*{cmsparensextradate}{}%
+
+\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language
+ \ifdefstring\blx@dateera{astronomical}%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifnumless{0-\thefield{#1}}{0}%
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}%
+ {}}%
+ {}%
+ \endgroup}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\ifdefstring\blx@tempa{end}%
+ {\iftoggle{cms@bc}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}%
+ {}}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}}%
+ {}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\protected\def\cmsdateeraprint#1{% AD/BC order depends on language
+ \ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \blx@ifstrendswith{#1}{endyear}
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype
+ \def\blx@tempa{end}}
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}}}%
+ {}%
+ \endgroup}
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{secular}}%
+ or
+ (
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\if@cms@adfirst}%
+ )
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}}}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}}%
+ {}}%
+ {\csuse{if\blx@datetype enddateera}{ce}%
+ {}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}}%
+ {}}}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\newrobustcmd*{\cms@datebrackets}{%
+ \iftoggle{cms@nodatebrackets}%
+ {\global\boolfalse{cms:bracket}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ togl {cms@nodates}%
+ and
+ not bool {cms:nd}%
+ }%
+ {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}%
+ {\boolfalse{cms:nd}}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@yearbrackets}{%
+ \iftoggle{cms@noyearbrackets}%
+ {\global\boolfalse{cms:bracket}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ togl {cms@nodates}%
+ and
+ not bool {cms:nd}
+ }%
+ {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}%
+ {\boolfalse{cms:nd}}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkbibrangefull}[2]{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkyearrangeextra}[3][]{%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}}}}}%
+ \endgroup}%
+
+\def\if@cms@adfirst{%
+ \ifboolexpr{%
+ test {\ifdefstring\blx@languagename{american}}%
+ or
+ test {\ifdefstring\blx@languagename{british}}%
+ or
+ test {\ifdefstring\blx@languagename{canadian}}%
+ or
+ test {\ifdefstring\blx@languagename{english}}%
+ or
+ test {\ifdefstring\blx@languagename{UKenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{USenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{australian}}%
+ or
+ test {\ifdefstring\blx@languagename{newzealand}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@bracket{%
+ \ifboolexpr{%
+ (
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endbracket{%
+ \ifboolexpr{%
+ (
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@circa{%
+ \ifboolexpr{%
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@uncertain{%
+ \ifboolexpr{%
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endcirca{%
+ \ifboolexpr{%
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@enduncertain{%
+ \ifboolexpr{%
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@onlyyears#1{%
+ \ifboolexpr{%
+ test {\iffieldundef{#1month}}%
+ and
+ test {\iffieldundef{#1endmonth}}%
+ and
+ test {\iffieldundef{#1day}}%
+ and
+ test {\iffieldundef{#1endday}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
%%%% Related functionality from standard.bbx %%%%
\newcounter{bbx:relatedcount}
\newcounter{bbx:relatedtotal}
+\newcounter{cms@reviewcount}%
+\newcounter{cms@currentnote}%
\newbibmacro*{related:init}{%
\csundef{bbx:relatedloop}}
+\newbibmacro*{related:mtpunct}{%
+ \iftoggle{cms@mtvolpunct}%
+ {\newcunit\newblock}%
+ {\newunit\newblock}}
+
+\newbibmacro*{related:mtsave}{%
+ \iffieldundef{pages}{}{\savefield*{pages}{\cms@mtpages}}%
+ \iffieldundef{bookpagination}{}{\savefield*{bookpagination}%
+ {\cms@mtpagination}}%
+ \iffieldundef{chapter}{}{\savefield*{chapter}{\cms@mtchapter}}}%
+
+\newbibmacro*{mt+mvnames+save}{%
+ \ifnameundef{author}{}{\savename*{author}{\cms@mtauthor}}%
+ \ifnameundef{editor}{}{\savename*{editor}{\cms@mteditor}}%
+ \ifnameundef{translator}{}{\savename*{translator}{\cms@mttranslator}}%
+ \ifnameundef{namec}{}{\savename*{namec}{\cms@mtnamec}}}%
+
+\newbibmacro*{related:noterefhelper}{%
+ \iftoggle{cms@noterefs}%
+ {\iftoggle{cms@endnote}%
+ {\ifnumequal{\value{cms@currentnote}}{\value{endnote}}%
+ {}%
+ {\csxdef{cms@parent@instcount}{\the\value{instcount}}%
+ \ifcsdef{cms@chap@\thefield{entrykey}}%
+ {\csxdef{cms@parent@chap}{\csuse{cms@chap@\thefield{entrykey}}}}%
+ {}%
+ \ifcsdef{cms@sec@\thefield{entrykey}}%
+ {\csxdef{cms@parent@sec}{\csuse{cms@sec@\thefield{entrykey}}}}%
+ {}%
+ \setcounter{cms@currentnote}{\value{endnote}}%
+ \def\cms@templista{}%
+ \def\cms@templistb{}}}%
+ {\ifnumequal{\value{cms@currentnote}}{\value{footnote}}%
+ {}%
+ {\csxdef{cms@parent@instcount}{\the\value{instcount}}%
+ \ifcsdef{cms@chap@\thefield{entrykey}}%
+ {\csxdef{cms@parent@chap}{\csuse{cms@chap@\thefield{entrykey}}}}%
+ {}%
+ \ifcsdef{cms@sec@\thefield{entrykey}}%
+ {\csxdef{cms@parent@sec}{\csuse{cms@sec@\thefield{entrykey}}}}%
+ {}%
+ \setcounter{cms@currentnote}{\value{footnote}}%
+ \def\cms@templista{}%
+ \def\cms@templistb{}}}%
+ \def\do##1{%
+ \entrydata{##1}{%
+ \listxadd\cms@templista{\strfield{clonesourcekey}}%
+ \listxadd\cms@templistb{\strfield{crossref}}%
+ \listxadd\cms@templistb{\strfield{xref}}}}%
+ \docsvfield{related}%
+ \def\do##1{%
+ \xifinlistcs{##1}{blx@bsee@\the\c@refsection}%
+ {\iftoggle{cms@relreview}%
+ {}%
+ {\csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@invl@##1}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \ifcsdef{cms@parent@chap}%
+ {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}%
+ {}%
+ \ifcsdef{cms@parent@sec}%
+ {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}%
+ {}}}%
+ {\iftoggle{cms@relreview}%
+ {}%
+ {\listcsxadd{blx@bsee@\the\c@refsection}{##1}}%
+ \csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@invl@##1}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \ifcsdef{cms@parent@chap}%
+ {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}%
+ {}%
+ \ifcsdef{cms@parent@sec}%
+ {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}%
+ {}}%
+ }%
+ \dolistloop{\cms@templista}%
+ \def\do##1{%
+ \csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@invl@##1}%
+ {\value{\csuse{cms@noteref@interval}}}%
+ \ifcsdef{cms@parent@chap}%
+ {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}%
+ {}%
+ \ifcsdef{cms@parent@sec}%
+ {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}%
+ {}%
+ }%
+ \ifdefvoid{\cms@templistb}{}{\dolistloop{\cms@templistb}}}%
+ {}}%
+
\newbibmacro*{begrelated}{\ifcsdef{bbx@lasthash}%
{\let\cms@related@hash\bbx@lasthash}{}}%
\newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}%
@@ -2875,7 +4902,10 @@
\newbibmacro*{related}{%
\ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }%
{}%
- {\usebibmacro{begrelated}%
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}%
+ {\printunit{\begrelateddelim}}%
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
\def\bbx@tempa{}%
\setcounter{bbx:relatedtotal}{0}%
\def\do##1{%
@@ -2895,7 +4925,13 @@
\def\do{%
\stepcounter{bbx:relatedcount}%
\ifnumgreater{\value{bbx:relatedcount}}{1}%
- {\printtext{\relateddelim}}%
+ {\ifcsundef{relateddelim\strfield{relatedtype}}%
+ {\printunit{\relateddelim}}%
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}%
{}}%
\ifbibmacroundef{related:\strfield{relatedtype}}%
{\appto{\do}{\usebibmacro{related:default}}}%
@@ -2929,4 +4965,272 @@
{}%
\usebibmacro{endrelated}}}%
+%%% List of all CMS bibliography strings %%%
+
+\NewBibliographyString{%
+ afterwordto,%
+ broadcast,%
+ by,%
+ bychoreographer,%
+ bycompileraf,%
+ bycompileran,%
+ bycompileranaf,%
+ bycompileranfo,%
+ bycompileranin,%
+ bycompilerco,%
+ bycompilercoaf,%
+ bycompilercofo,%
+ bycompilercoin,%
+ bycompilerfo,%
+ bycompilerin,%
+ byconductor,%
+ bydirector,%
+ byeditoralt,%
+ byeditorcp,%
+ byeditorcpaf,%
+ byeditorcpan,%
+ byeditorcpanaf,%
+ byeditorcpanfo,%
+ byeditorcpanin,%
+ byeditorcpco,%
+ byeditorcpcoaf,%
+ byeditorcpcofo,%
+ byeditorcpcoin,%
+ byeditorcpfo,%
+ byeditorcpin,%
+ byeditortrcp,%
+ byeditortrcpaf,%
+ byeditortrcpan,%
+ byeditortrcpanaf,%
+ byeditortrcpanfo,%
+ byeditortrcpanin,%
+ byeditortrcpco,%
+ byeditortrcpcoaf,%
+ byeditortrcpcofo,%
+ byeditortrcpcoin,%
+ byeditortrcpfo,%
+ byeditortrcpin,%
+ bynone,%
+ byproducer,%
+ bytranslatorcp,%
+ bytranslatorcpaf,%
+ bytranslatorcpan,%
+ bytranslatorcpanaf,%
+ bytranslatorcpanfo,%
+ bytranslatorcpanin,%
+ bytranslatorcpco,%
+ bytranslatorcpcoaf,%
+ bytranslatorcpcofo,%
+ bytranslatorcpcoin,%
+ bytranslatorcpfo,%
+ bytranslatorcpin,%
+ canadasection,%
+ canadasections,%
+ cbyannotator,%
+ cbyauthor,%
+ cbychoreographer,%
+ cbycollaborator,%
+ cbycommentator,%
+ cbycompiler,%
+ cbycompileraf,%
+ cbycompileran,%
+ cbycompileranaf,%
+ cbycompileranfo,%
+ cbycompileranin,%
+ cbycompilerco,%
+ cbycompilercoaf,%
+ cbycompilercofo,%
+ cbycompilercoin,%
+ cbycompilerfo,%
+ cbycompilerin,%
+ cbyconductor,%
+ cbycontinuator,%
+ cbydirector,%
+ cbyeditor,%
+ cbyeditoraf,%
+ cbyeditoralt,%
+ cbyeditoran,%
+ cbyeditoranaf,%
+ cbyeditoranfo,%
+ cbyeditoranin,%
+ cbyeditorco,%
+ cbyeditorcoaf,%
+ cbyeditorcofo,%
+ cbyeditorcoin,%
+ cbyeditorcp,%
+ cbyeditorcpaf,%
+ cbyeditorcpan,%
+ cbyeditorcpanaf,%
+ cbyeditorcpanfo,%
+ cbyeditorcpanin,%
+ cbyeditorcpco,%
+ cbyeditorcpcoaf,%
+ cbyeditorcpcofo,%
+ cbyeditorcpcoin,%
+ cbyeditorcpfo,%
+ cbyeditorcpin,%
+ cbyeditorfo,%
+ cbyeditorin,%
+ cbyeditortr,%
+ cbyeditortraf,%
+ cbyeditortran,%
+ cbyeditortranaf,%
+ cbyeditortranfo,%
+ cbyeditortranin,%
+ cbyeditortrco,%
+ cbyeditortrcoaf,%
+ cbyeditortrcofo,%
+ cbyeditortrcoin,%
+ cbyeditortrcp,%
+ cbyeditortrcpaf,%
+ cbyeditortrcpan,%
+ cbyeditortrcpanaf,%
+ cbyeditortrcpanfo,%
+ cbyeditortrcpanin,%
+ cbyeditortrcpco,%
+ cbyeditortrcpcoaf,%
+ cbyeditortrcpcofo,%
+ cbyeditortrcpcoin,%
+ cbyeditortrcpfo,%
+ cbyeditortrcpin,%
+ cbyeditortrfo,%
+ cbyeditortrin,%
+ cbyfounder,%
+ cbynone,%
+ cbyorganizer,%
+ cbyproducer,%
+ cbyredactor,%
+ cbytranslator,%
+ cbytranslatoraf,%
+ cbytranslatoran,%
+ cbytranslatoranaf,%
+ cbytranslatoranfo,%
+ cbytranslatoranin,%
+ cbytranslatorco,%
+ cbytranslatorcoaf,%
+ cbytranslatorcofo,%
+ cbytranslatorcoin,%
+ cbytranslatorcp,%
+ cbytranslatorcpaf,%
+ cbytranslatorcpan,%
+ cbytranslatorcpanaf,%
+ cbytranslatorcpanfo,%
+ cbytranslatorcpanin,%
+ cbytranslatorcpco,%
+ cbytranslatorcpcoaf,%
+ cbytranslatorcpcofo,%
+ cbytranslatorcpcoin,%
+ cbytranslatorcpfo,%
+ cbytranslatorcpin,%
+ cbytranslatorfo,%
+ cbytranslatorin,%
+ century,%
+ cfromamerican,%
+ cfrombrazilian,%
+ cfrombulgarian,%
+ cfromcatalan,%
+ cfromcroatian,%
+ cfromczech,%
+ cfromdanish,%
+ cfromdutch,%
+ cfromenglish,%
+ cfromestonian,%
+ cfromfinnish,%
+ cfromfrench,%
+ cfromgalician,%
+ cfromgerman,%
+ cfromgreek,%
+ cfromitalian,%
+ cfromjapanese,%
+ cfromlatin,%
+ cfromnorwegian,%
+ cfrompolish,%
+ cfromportuguese,%
+ cfromrussian,%
+ cfromslovak,%
+ cfromslovene,%
+ cfromspanish,%
+ cfromswedish,%
+ cfromukrainian,%
+ choreographer,%
+ choreographers,%
+ commenton,%
+ conductor,%
+ conductors,%
+ decade,%
+ director,%
+ directors,%
+ discrecorded,%
+ edamerican,%
+ edbrazilian,%
+ edbulgarian,%
+ edcatalan,%
+ edcroatian,%
+ edczech,%
+ eddanish,%
+ eddutch,%
+ edenglish,%
+ edestonian,%
+ edfinnish,%
+ edfrench,%
+ edgalician,%
+ edgerman,%
+ edgreek,%
+ editalian,%
+ editorcompiler,%
+ editorcompilers,%
+ editortranscompiler,%
+ editortranscompilers,%
+ editortranslator,%
+ editortranslators,%
+ edjapanese,%
+ edlatin,%
+ ednorwegian,%
+ edpolish,%
+ edportuguese,%
+ edrussian,%
+ edslovak,%
+ edslovene,%
+ edspanish,%
+ edswedish,%
+ edukrainian,%
+ forewordto,%
+ hereinafter,%
+ inlang,%
+ introductionto,%
+ none,%
+ nones,%
+ note,%
+ numbers,%
+ of,%
+ on,%
+ origedition,%
+ origpub,%
+ origpublin,%
+ origpubyear,%
+ origpubyearalt,%
+ origreleaseyear,%
+ origshownyear,%
+ partvolume,%
+ patentfiled,%
+ patentissued,%
+ preface,%
+ printed,%
+ producer,%
+ producers,%
+ pseudonym,%
+ review,%
+ revisededition,%
+ selfpublished,%
+ songrecorded,%
+ subsection,%
+ subsections,%
+ subverbis,%
+ subverbo,%
+ supranote,%
+ track,%
+ transcompiler,%
+ transcompilers%
+ }%
+
\endinput