diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx | 2323 |
1 files changed, 2323 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx new file mode 100644 index 00000000000..809bcbf8c7b --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx @@ -0,0 +1,2323 @@ +% $Id: chicago-authordate-trad.cbx,v 0.8.1.27 2012/12/06 11:45:44 dfussner Exp $ +% This is a biblatex citation style file, adapted from Lehman's +% authoryear-comp.cbx. It is heavily modified, with the intention of +% providing inline citations (and a reference list) for the +% author-date style of the Chicago Manual of Style, 16th edition. + +\ProvidesFile{chicago-authordate.cbx}[2012/12/06 v 2.4 biblatex citation style] + +%%%% Biblatex initialization + Chicago options + Toggles %%%% + +\newbool{cbx:parens} + +\providecommand*{\mkibid}[1]{#1} + +\providetoggle{cms@inlineibid} +\providetoggle{cms@origlabel} +\providetoggle{cms@bothlabelold} +\providetoggle{cms@bothlabelnew} +\providetoggle{cms@fulldate} +\providetoggle{cms@reprint} +\providetoggle{cms@switchdates} +\providetoggle{cms@los} +%\providetoggle{cms@oneyear} +\providetoggle{cms@avdate} +\providetoggle{cms@nodates} +\providetoggle{cms@authorparens} + +\providetoggle{cms@url}% These are for the field-exclusion options +\providetoggle{cms@doi} +\providetoggle{cms@doionly} +\providetoggle{cms@eprint} +\providetoggle{cms@isbn} +\providetoggle{cms@numbermonth} +\providetoggle{cms@bookpages} + +\providetoggle{cms@jrcomma}% Comma after Jr./Sr. + +\providetoggle{cms@headlessnote}% Keep +\providetoggle{cms@noibid}% Keep +\providetoggle{cms@usecompiler}% Keep +\providetoggle{cms@origpublished}% Keep +\providetoggle{cms@annotation}% Keep +\providetoggle{cms@postposit}% Keep +\providetoggle{cms@fullshhand} + +\AtEveryCitekey{% + \iffieldundef{userc}% + {}% + {\nocite{\thefield{userc}}}% + \iffieldequalstr{pubstate}{reprint}% + {\toggletrue{cms@reprint}}% + {\togglefalse{cms@reprint}}}% + +\DeclareBibliographyOption{avdate}[true]{% + \ifcsdef{cms@opt@avdate@#1}% + {\csuse{cms@opt@avdate@#1}} + {\blx@err@invopt{avdate=#1}{}}} +\def\cms@opt@avdate@true{% + \@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4 + {\DeclareLabelyear[music,review,video]{\field{eventyear}% + \field{origyear} \field{year} \field{urlyear}}}% + {\DeclareLabelyear[music,review,video]{eventyear,origyear,year,urlyear}}% + \toggletrue{cms@avdate}}% +\def\cms@opt@avdate@false{% + \togglefalse{cms@avdate}} + +\DeclareBibliographyOption{cmsdate}{% Trying to implement origyear as + \ifcsdef{cms@opt@cmsdate@#1}% labelyear. Sorting will be an issue. + {\csuse{cms@opt@cmsdate@#1}} + {\blx@err@invopt{cmsdate=#1}{}}} + +\DeclareEntryOption{cmsdate}[off]{% Trying to implement origyear as + \ifcsdef{cms@opt@cmsdate@#1}% labelyear. Sorting will be an issue. + {\iftoggle{cms@origlabel} + {\togglefalse{cms@origlabel}% + \def\@cms@tempdate{cms@origlabel}}% + {\iftoggle{cms@bothlabelnew}% + {\togglefalse{cms@bothlabelnew}% + \def\@cms@tempdate{cms@bothlabelnew}}% + {\iftoggle{cms@bothlabelold}% + {\togglefalse{cms@bothlabelold}% + \def\@cms@tempdate{cms@bothlabelold}}% + {}}}% + \csuse{cms@opt@cmsdate@#1}}% + {\blx@err@invopt{cmsdate=#1}{}}} +\def\cms@opt@cmsdate@on{% + \toggletrue{cms@origlabel}} +\def\cms@opt@cmsdate@new{% + \toggletrue{cms@bothlabelnew}} +\def\cms@opt@cmsdate@old{% + \toggletrue{cms@bothlabelold}} +\def\cms@opt@cmsdate@both{% + \toggletrue{cms@bothlabelold}} +\def\cms@opt@cmsdate@full{% + \toggletrue{cms@fulldate}} +\def\cms@opt@cmsdate@off{} + +\DeclareBibliographyOption{annotation}[true]{% + \global\toggletrue{cms@annotation}} + +\DeclareBibliographyOption{cmslos}[true]{% + \global\settoggle{cms@los}{#1}} + +\DeclareBibliographyOption{noibid}[true]{% + \global\toggletrue{cms@noibid}} + +\DeclareBibliographyOption{usecompiler}[true]{% + \settoggle{cms@usecompiler}{#1}} + +\DeclareBibliographyOption{nodates}[true]{% + \settoggle{cms@nodates}{#1}} + +\DeclareEntryOption{usecompiler}[true]{% + \settoggle{cms@usecompiler}{#1}} + +\DeclareBibliographyOption{juniorcomma}[true]{% + \settoggle{cms@jrcomma}{#1}} + +\DeclareEntryOption{juniorcomma}[true]{% + \settoggle{cms@jrcomma}{#1}} + +\DeclareBibliographyOption{shorthandfull}[true]{% + \settoggle{cms@fullshhand}{#1}} + +\DeclareBibliographyOption{headline}[true]{% + \renewcommand{\MakeSentenceCase}{\@ifstar\relax\relax}} + +% The field-exclusion options % + +\DeclareBibliographyOption{isbn}[true]{% + \settoggle{cms@isbn}{#1}} +\DeclareBibliographyOption{url}[true]{% + \settoggle{cms@url}{#1}} +\DeclareBibliographyOption{doi}[true]{% + \ifcsdef{cms@opt@doi@#1}% + {\csuse{cms@opt@doi@#1}} + {\blx@err@invopt{doi=#1}{}}} +\def\cms@opt@doi@true{% + \toggletrue{cms@doi}} +\def\cms@opt@doi@false{% + \togglefalse{cms@doi}} +\def\cms@opt@doi@only{% + \toggletrue{cms@doionly}} +\DeclareBibliographyOption{eprint}[true]{% + \settoggle{cms@eprint}{#1}} +\DeclareBibliographyOption{numbermonth}[true]{% + \settoggle{cms@numbermonth}{#1}} +\DeclareBibliographyOption{bookpages}[true]{% + \settoggle{cms@bookpages}{#1}} +\DeclareBibliographyOption{includeall}[true]{% + \settoggle{cms@isbn}{#1}% + \settoggle{cms@url}{#1}% + \settoggle{cms@doi}{#1}% + \settoggle{cms@eprint}{#1}% + \settoggle{cms@numbermonth}{#1}% + \settoggle{cms@bookpages}{#1}} + +\DeclareEntryOption{isbn}[true]{% + \settoggle{cms@isbn}{#1}} +\DeclareEntryOption{url}[true]{% + \settoggle{cms@url}{#1}} +\DeclareEntryOption{doi}[true]{% + \ifcsdef{cms@opt@doi@#1}% + {\iftoggle{cms@doi}% + {\togglefalse{cms@doi}% + \iftoggle{cms@doionly}% + {\togglefalse{cms@doionly}}% !! + {}}% + {\toggletrue{cms@doi}}% !! + \csuse{cms@opt@doi@#1}} + {\blx@err@invopt{doi=#1}{}}} +\DeclareEntryOption{eprint}[true]{% + \settoggle{cms@eprint}{#1}} +\DeclareEntryOption{numbermonth}[true]{% + \settoggle{cms@numbermonth}{#1}} +\DeclareEntryOption{bookpages}[true]{% + \settoggle{cms@bookpages}{#1}} + +\ExecuteBibliographyOptions{includeall}% + +% More authordate options % + +\DeclareSortingScheme{cms}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \name{sortname} + \name{author} + \name{namea} + \name{editor} + \name{nameb} + \name{translator} + \name{namec} + \field{sorttitle} + \field{journaltitle} + \list{organization} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume} + \literal{0000} + } +} + +\@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4 +{\DeclareLabelname{\field{shortauthor} \field{author}% + \field{shorteditor} \field{namea} \field{editor}% + \field{nameb} \field{translator} \field{namec}}} +{\DeclareLabelname{shortauthor,author,shorteditor,namea,% + editor,nameb,translator,namec}} + +\DeclareEntryOption{switchdates}[true]{% + \settoggle{cms@switchdates}{#1}} + +\DeclareBibliographyOption{strict}[true]{% + \let\splitfootnoterule\footnoterule + \renewcommand\footnoterule{}% + \advance\skip\footins 4\p@\@plus2\p@\relax + \gdef\split@prev{0} + \let\pagefootnoterule\footnoterule + % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + }} + +\protected\def\blx@newcunit{% + \global\let\blx@unitpunct\newcunitpunct + \global\toggletrue{blx@unit}}% + +\appto\blx@blxinit{% + \let\newcunit\blx@newcunit} + +\newcommand*{\newcunitpunct}{\addcomma\space} + +\def\mkbibcurdinal#1{% + \@tempcnta0#1 \the\@tempcnta}% + +\@ifpackagelater{biblatex}{2011/01/04} +{} +{\PackageError{biblatex} + {Outdated 'biblatex' package} + {The Chicago style requires biblatex v1.1 or later.\MessageBreak + You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak + This is a fatal error. I'm aborting now.}% + \endinput} + +% American-specific punctuation change for 16th edition % + +\DefineBibliographyExtras{american}{% + \DeclarePunctuationPairs{comma}{*!?}} + +%%%% Initialize and define bibstrings %%%% + +% \NewBibliographyString{origpubyear} % Already in .lbx files? + +% \DefineBibliographyStrings{american}{% +% origpubyear = {first published\addspace},} + +%%%% This one needed for 16th edition. Others in cms-*.lbx %%%% + +%%%% Macros from authoryear-comp.cbx, revised for CMS %%%% + +\newbibmacro*{cite:init}{% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash + \global\undef\cbx@lastyear} + {\iffieldundef{prenote} + {} + {\global\undef\cbx@lasthash + \global\undef\cbx@lastyear}}} + +\newbibmacro*{cite:reinit}{% + \global\undef\cbx@lasthash + \global\undef\cbx@lastyear} + +\newbibmacro*{cite}{% + \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}}% + {\iffieldequalstr{entrysubtype}{classical}% Similar to notes+bib + {\iffieldundef{shorthand}% + {\ifthenelse{\ifnameundef{labelname}\OR + \iffieldequalstr{entrytype}{inreference}\OR + \iffieldequalstr{entrytype}{reference}}% Simplified for CMS + {\usebibmacro{cite:label}% + \setunit{\addspace}% + \usebibmacro{cite:reinit}} + {\iffieldequals{namehash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cite:label}} + {\iffieldequals{namehash}{\cbx@lastyear}% + {}% + {\usebibmacro{cmsbracketname}% For names in [] + \iffieldequalstr{entrytype}{customc}% + {\newcunit}% + {\setunit{\addspace}}}% + \usebibmacro{cite:label}% + \iffieldundef{postnote}% + {\savefield{namehash}{\cbx@lasthash}}% + {\savefield{namehash}{\cbx@lastyear}}}}}% + {\usebibmacro{cite:shorthand+title}}} + {\iffieldundef{shorthand}% + {\ifthenelse{\ifnameundef{labelname}\OR + \iffieldequalstr{entrytype}{inreference}\OR + \iffieldequalstr{entrytype}{reference}}% Simplified for CMS + {\usebibmacro{cite:label}% + \setunit{\addspace}% + \usebibmacro{cmscitesortdate}% + \usebibmacro{cite:reinit}} + {\iffieldequals{namehash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cmscitesortdate}} + {\iffieldequals{namehash}{\cbx@lastyear}% Is this right? + {}% + {\usebibmacro{cmsbracketname}% + \setunit{\nameyeardelim}}% + \usebibmacro{cmscitesortdate}% + \iffieldundef{postnote}% + {\savefield{namehash}{\cbx@lasthash}}% + {\savefield{namehash}{\cbx@lastyear}}}}}% + {\usebibmacro{cite:shorthand}}}}% + \setunit{\multicitedelim}}% ??? + +\newbibmacro*{cmsbracketname}{% + \iffieldequalstr{authortype}{anon}% + {\bibleftbracket\printnames{labelname}% + \bibrightbracket}% + {\iffieldequalstr{authortype}{anon?}% + {\bibleftbracket\printnames{labelname}?% + \bibrightbracket}% + {\printnames{labelname}}}} + +\newbibmacro*{citeyear}{% + \iffieldequalstr{entrysubtype}{classical}% + {\iffieldundef{shorthand}% + {\usebibmacro{citeyear:noshort}}% + {\iftoggle{cms@los}% + {\usebibmacro{citeyear:noshort}}% + {\usebibmacro{cite:shorthand+title}}}}% + {\iffieldundef{shorthand}% + {\usebibmacro{citeyear:noshort}}% + {\iftoggle{cms@los}% + {\usebibmacro{citeyear:noshort}}% + {\usebibmacro{cite:shorthand}}}}% + \setunit{\multicitedelim}} + +\newbibmacro*{citeyear:noshort}{% + \iffieldequalstr{entrysubtype}{classical}% Altered for CMS + {\iffieldequals{namehash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cite:label}} + {\usebibmacro{cite:label}% + \iffieldundef{postnote}% + {\savefield{namehash}{\cbx@lasthash}}% + {}}} + {\iffieldequals{namehash}{\cbx@lasthash}% + {\iffieldundef{postnote}% + {\setunit{\compcitedelim}}% + {}% + \usebibmacro{cmscitesortdate}} + {\usebibmacro{cmscitesortdate}% + \iffieldundef{postnote}% + {\savefield{namehash}{\cbx@lasthash}}% + {}}}}% + +\newbibmacro*{textcite}{% + \iftoggle{cms@los}% + {\usebibmacro{textcite:authshort}}% + {\usebibmacro{textcite:citeshort}}} + +\newbibmacro*{textcite:authshort}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\iffieldundef{postnote}% + {\iffieldequals{namehash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\setunit{\compcitedelim}}}% + {\setunit{\multicitedelim}}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}}% + {\iffieldundef{shorthand} + {\ifthenelse{\ifnameundef{labelname}\OR + \iffieldequalstr{entrytype}{inreference}\OR + \iffieldequalstr{entrytype}{reference}}% + {\iffieldequalstr{entrysubtype}{classical}% + {\setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:label}} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cmscitesortdate}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}} + {\usebibmacro{cmscitesortdate}}% + \savefield{namehash}{\cbx@lasthash}}} + {\printfield{shorthand}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}} + {\usebibmacro{cmscitesortdate}}% + \savefield{namehash}{\cbx@lasthash}}}% + \setunit{% + \ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}% + \multicitedelim}} + +\newbibmacro*{textcite:citeshort}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\iffieldundef{shorthand} + {\iffieldundef{postnote}% + {\iffieldequals{namehash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\setunit{\compcitedelim}}}% + {\setunit{\multicitedelim}}% + \iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}}% + {\usebibmacro{cmscitesortdate}}} + {\iffieldundef{postnote}% + {\iffieldequals{namehash}{\cbx@lastyear}% + {\setunit{\multicitedelim}% + \global\undef\cbx@lastyear}% + {\setunit{\compcitedelim}}}% + {\setunit{\multicitedelim}}% + \printtext[bibhyperref]{% + \printfield{shorthand}}}}% + {\ifthenelse{\ifnameundef{labelname}\OR + \iffieldequalstr{entrytype}{inreference}\OR + \iffieldequalstr{entrytype}{reference}}% + {\iffieldundef{shorthand} + {\iffieldequalstr{entrysubtype}{classical}% + {\setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:label}} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cmscitesortdate}}} + {\printtext[bibhyperref]{% + \printfield{shorthand}}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\iffieldequalstr{entrysubtype}{classical}% + {\usebibmacro{cite:label}} + {\usebibmacro{cmscitesortdate}}}% + {\printtext[bibhyperref]{% + \printfield{shorthand}}}% + \savefield{namehash}{\cbx@lasthash}}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \multicitedelim}} + +\newbibmacro*{textcite:postnote}{% + \iffieldundef{postnote}% + {}% + {\savefield{namehash}{\cbx@lastyear}% + \setunit{\postnotedelim}% + \printfield{postnote}}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}}% + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}}% + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \multicitedelim}}} + +\newbibmacro*{cite:shorthand}{% + \iftoggle{cms@los}% + {\iffieldequals{namehash}{\cbx@lasthash}% + {\printtext[bibhyperref]{% + \setunit{\compcitedelim}% + \usebibmacro{cmscitesortdate}}} + {\printtext[bibhyperref]{% + \printfield{shorthand}% + \setunit{\nameyeardelim}% + \usebibmacro{cmscitesortdate}}% + \savefield{namehash}{\cbx@lasthash}}}% + {\printtext[bibhyperref]{\printfield{shorthand}}% + \usebibmacro{cite:reinit}}} + +\newbibmacro*{cite:shorthand+title}{% + \iftoggle{cms@los}% + {\iffieldequals{namehash}{\cbx@lasthash}% + {\printtext[bibhyperref]{% + \setunit{\compcitedelim}% + \usebibmacro{cite:label}}} + {\printtext[bibhyperref]{% + \printfield{shorthand}% + \setunit{\nameyeardelim}% + \usebibmacro{cite:label}}% + \savefield{namehash}{\cbx@lasthash}}}% + {\printtext[bibhyperref]{\printfield{shorthand}}% + \usebibmacro{cite:reinit}}} + +\newbibmacro*{cite:label}{% Test this + \iffieldundef{label}% + {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT% + \iffieldequalstr{entrytype}{periodical}}% Simplifies .bib creation + {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}}}% + {\iffieldequalstr{entrytype}{manual}% + {\printtext[bibhyperref]{\printlist{organization}}}% + {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}}% + {\printtext[bibhyperref]{\printfield{label}}}} + +\newbibmacro*{cite:labelyear+extrayear}{% + \ifboolexpr{ ( + test {\iffieldequalstr{entrytype}{music}}% + or + test {\iffieldequalstr{entrytype}{review}}% + or + test {\iffieldequalstr{entrytype}{video}}% + ) + and + togl {cms@avdate} + }% + {\usebibmacro{cite:av+labelyear+extrayear}}% + {\usebibmacro{cite:standard+labelyear+extrayear}}} + +\newbibmacro*{cite:standard+labelyear+extrayear}{% + \iffieldundef{labelyear} + {\ifboolexpr{ + test {\iffieldequalstr{entrytype}{misc}} + or + test {\iffieldequalstr{entrytype}{inreference}} + or + test {\iffieldequalstr{entrytype}{reference}} + or + not togl {cms@nodates} + }% + {}% + {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS? + {\printtext[bibhyperref]{% + \iffieldundef{year}% + {\iffieldundef{eventyear} + {\iffieldundef{origyear}% + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{urlendyear}% + {}% + {\iffieldequalstr{urlendyear}{}% + {\mbox{\bibdatedash}}% + {}}}% + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{origendyear}% + {}% + {\iffieldequalstr{origendyear}{}% + {\mbox{\bibdatedash}}% + {}}}} + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{eventendyear}% + {}% + {\iffieldequalstr{eventendyear}{}% + {\mbox{\bibdatedash}}% + {}}}} + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{endyear}% DATE FIX + {}% + {\iffieldequalstr{endyear}{}% + {\mbox{\bibdatedash}}% + {}}}}}} + +\newbibmacro*{cite:av+labelyear+extrayear}{% + \iffieldundef{labelyear} + {\ifboolexpr{ + test {\iffieldequalstr{entrytype}{misc}} + or + test {\iffieldequalstr{entrytype}{inreference}} + or + test {\iffieldequalstr{entrytype}{reference}} + or + not togl {cms@nodates} + }% + {}% + {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS? + {\printtext[bibhyperref]{% + \iffieldundef{eventyear}% + {\iffieldundef{origyear} + {\iffieldundef{year}% + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{urlendyear}% + {}% + {\iffieldequalstr{urlendyear}{}% + {\mbox{\bibdatedash}}% + {}}}% + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{endyear}% + {}% + {\iffieldequalstr{endyear}{}% + {\mbox{\bibdatedash}}% + {}}}} + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{origendyear}% + {}% + {\iffieldequalstr{origendyear}{}% + {\mbox{\bibdatedash}}% + {}}}} + {\printfield{labelyear}% + \iffieldundef{extrayear}% + {}% + {\setunit*{}% + \printfield{extrayear}}% + \iffieldundef{eventendyear}% DATE FIX + {}% + {\iffieldequalstr{eventendyear}{}% + {\mbox{\bibdatedash}}% + {}}}}}} + +\newbibmacro*{cmscitesortdate}{% Attempt to solve date-related problems + \ifboolexpr{% + test {\iffieldundef{origyear}} + or + not test {\iffieldint{origyear}} + }% + {\usebibmacro{cmsciteyear}}% + {\iffieldint{year}% + {\ifboolexpr{% Needed for date ranges + test {\iffieldundef{endyear}}% + or + not test {\iffieldnum{endyear}} + }% + {\ifthenelse{\thefield{origyear}>\thefield{year}}% + {\toggletrue{cms@switchdates}% + \usebibmacro{cmsciteyear}}% + {\usebibmacro{cmsciteyear}}}% + {\ifthenelse{\thefield{origyear}>\thefield{endyear}}% + {\toggletrue{cms@switchdates}% + \usebibmacro{cmsciteyear}}% + {\usebibmacro{cmsciteyear}}}}% + {\usebibmacro{cmsciteyear}}}} + +\newbibmacro*{cmsciteyear}{% + \iftoggle{cms@origlabel}% + {\usebibmacro{cite:origyear+labelyear}}% + {\iftoggle{cms@bothlabelnew}% + {\usebibmacro{cite:bothyear+oldstyle}}% + {\iftoggle{cms@bothlabelold}% + {\usebibmacro{cite:bothyear+oldstyle}}% + {\iftoggle{cms@fulldate}% + {\newcunit\printdate}% + {\usebibmacro{cite:labelyear+extrayear}}}}}% + \ifcsdef{@cms@tempdate}% + {\toggletrue{\@cms@tempdate}}% + {}} + +\newbibmacro*{cite:origyear+labelyear}{% + \iftoggle{cms@switchdates}% + {\usebibmacro{cite:labelyear+extrayear}} + {\iffieldundef{origyear}% + {\usebibmacro{cite:labelyear+extrayear}}% + {\printtext[bibhyperref]{% + \printfield{origyear}}}}} + +\newbibmacro*{cite:bothyear+oldstyle}{% + \iftoggle{cms@switchdates}% + {\printtext[bibhyperref]{% + \bibopenparen% + \usebibmacro{cite:labelyear+extrayear}% + \bibcloseparen% + \addspace\printfield{origyear}}}% + {\iffieldundef{origyear}% + {\usebibmacro{cite:labelyear+extrayear}}% + {\printtext[bibhyperref]{% + \printfield[parens]{origyear}% + \addspace\printfield{labelyear}}}}} + +\newbibmacro*{cite:save}{% + \savefield{entrykey}{\cbx@lastkey}} + +\newbibmacro*{cite:ibid}{% + \iftoggle{cms@noibid}% + {\blx@ibidreset% + \usebibmacro{cite}}% + {\ifthenelse{\iffieldundef{prenote}\AND% + \iffieldundef{postnote}}% + {\blx@ibidreset% + \usebibmacro{cite}% + \PackageWarning{biblatex-chicago}% + {Empty Ibidem citation}}% + {\toggletrue{cms@inlineibid}}}} + +%%%% Citation Commands, internal and external %%%% + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\setunit{\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {}%\setunit{\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {}%\multicitedelim + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}% + {\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}% + {\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext]% + {\footcitetext}{\setunit{\multicitedelim}} + +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\DeclareCiteCommand{\bibxrefcite} + {\usebibmacro{cite:init}}%\usebibmacro{clearalmostall}} (?) + {\usebibmacro{cms-in:}% + \blx@ibidreset% For authordate style + \usebibmacro{cite}} + {} + {} + +\DeclareCiteCommand{\origfullcite} + {\nopunct\unspace% + \savebibmacro{cmsbibsortdate}% + \renewbibmacro*{cmsbibsortdate}{}}% + {\usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote} + \clearname{author}\clearfield{userf}%\toggletrue{cms@fullnote}% + \toggletrue{cms@headlessnote}\frenchspacing}% + {\thefield{entrytype}}}% + {\multicitedelim}% + {\restorebibmacro{cmsbibsortdate}} + +\DeclareCiteCommand{\origpublcite}% Similar to above, w/o title. + {\nopunct\unspace% + \savebibmacro{cmsbibsortdate}% + \renewbibmacro*{cmsbibsortdate}{}}% + {\usedriver + {\DeclareNameAlias{sortname}{default}\clearfield{postnote}% + \usebibmacro{clearpublin}% + \toggletrue{cms@headlessnote}%\toggletrue{cms@fullnote}% + \toggletrue{cms@origpublished}\frenchspacing}% + {\thefield{entrytype}}}% + {\multicitedelim}% + {\restorebibmacro{cmsbibsortdate}} + +%%%% List Formats %%%% + +\DeclareListFormat{language}{% + \ifthenelse{\value{listcount}=1}% + {\bibleftbracket\bibstring{inlang}%\addspace - for inflected langs. + \ifbibstring{#1} + {\bibstring{#1}} + {\ifbibstring{lang#1} + {\bibstring{lang#1}} + {#1}}% + \ifthenelse{\value{listtotal}=1}% + {\bibrightbracket}% + {}}% + {\ifthenelse{\value{listcount}=\value{listtotal}}% + {\multilangdelim% + \ifbibstring{#1} + {\bibstring{#1}} + {\ifbibstring{lang#1} + {\bibstring{lang#1}} + {#1}}% + \bibrightbracket}% + {\multilangdelim% + \ifbibstring{#1} + {\bibstring{#1}} + {\ifbibstring{lang#1} + {\bibstring{lang#1}} + {#1}}}}% + \usebibmacro{langlist:andothers}} + +\DeclareListFormat{publisher}{% + \ifthenelse{\value{listtotal}<2}% + {#1\isdot}% + {\ifthenelse{\value{listcount}=1}% + {#1}% + {\multipubsdelim #1\isdot}}} + +\DeclareListFormat{periodplace}{\mkbibparens{#1}} + +\DeclareListFormat{lista}{% + \ifthenelse{\value{listtotal}<2} + {s\adddot v\adddot\addspace\mkbibquote{#1\isdot}}% + {\ifthenelse{\value{listcount}=1}% + {s\adddot vv\adddot\addspace \mkbibquote{#1\isdot}\addcomma}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\addspace\mkbibquote{#1\isdot}\addcomma}% + {\addspace\mkbibquote{#1\isdot}}}}} + +%%%% Field Formats -- Title, Citetitle, Lostitle %%%% + +\DeclareFieldFormat[article]{title}{% + \iffieldundef{title}% + {}% + {\MakeSentenceCase*{#1}}} + +\DeclareFieldAlias[article]{citetitle}[article]{lostitle} + +\DeclareFieldFormat[article]{lostitle}{\MakeSentenceCase*{#1}} + +\DeclareFieldFormat[artwork]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}} + +\DeclareFieldAlias[artwork]{citetitle}[artwork]{title} + +\DeclareFieldAlias[artwork]{lostitle}[artwork]{title} + +\DeclareFieldFormat[book]{title}{% + \mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldAlias[book]{citetitle}[book]{title} + +\DeclareFieldAlias[book]{lostitle}[book]{title} + +\DeclareFieldAlias[bookinbook]{title}[book]{title} + +\DeclareFieldAlias[bookinbook]{citetitle}[book]{title} + +\DeclareFieldAlias[bookinbook]{lostitle}[book]{title} + +\DeclareFieldAlias[collection]{title}[book]{title} + +\DeclareFieldAlias[collection]{citetitle}[book]{title} + +\DeclareFieldAlias[collection]{lostitle}[book]{lostitle} + +\DeclareFieldFormat[periodical]{title}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{citetitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldFormat[periodical]{lostitle}{\mkbibemph{#1}\isdot} + +\DeclareFieldAlias[image]{title}[artwork]{title} + +\DeclareFieldAlias[image]{citetitle}[artwork]{title} + +\DeclareFieldAlias[image]{lostitle}[artwork]{lostitle} + +\DeclareFieldAlias[incollection]{title}[article]{title}% Change article? + +\DeclareFieldAlias[incollection]{citetitle}[article]{title} + +\DeclareFieldAlias[incollection]{lostitle}[article]{lostitle} + +\DeclareFieldAlias[inreference]{title}[book]{title} + +\DeclareFieldAlias[inreference]{citetitle}[book]{title} + +\DeclareFieldAlias[inreference]{lostitle}[book]{lostitle} + +\DeclareFieldAlias[reference]{title}[book]{title} + +\DeclareFieldAlias[reference]{citetitle}[book]{title} + +\DeclareFieldAlias[reference]{lostitle}[book]{lostitle} + +\DeclareFieldFormat[letter]{title}{#1\isdot} + +\DeclareFieldFormat[letter]{citetitle}{#1\isdot} + +\DeclareFieldFormat[letter]{lostitle}{#1\isdot} + +\DeclareFieldAlias[inproceedings]{title}[article]{title}% As above + +\DeclareFieldAlias[inproceedings]{citetitle}[article]{title} + +\DeclareFieldAlias[inproceedings]{lostitle}[article]{lostitle} + +\DeclareFieldAlias[thesis]{title}[article]{title} + +\DeclareFieldAlias[thesis]{citetitle}[article]{title} + +\DeclareFieldAlias[thesis]{lostitle}[article]{lostitle} + +\DeclareFieldAlias[patent]{title}[article]{lostitle}% 16th ed. + +\DeclareFieldAlias[patent]{citetitle}[article]{title} + +\DeclareFieldAlias[patent]{lostitle}[article]{lostitle} + +\DeclareFieldAlias[unpublished]{title}[article]{title} + +\DeclareFieldAlias[unpublished]{citetitle}[article]{citetitle} + +\DeclareFieldAlias[unpublished]{lostitle}[article]{lostitle} + +\DeclareFieldFormat{postnote}{% Removed \isdots -- required + \iffieldundef{pagination}% elsewhere also? + {#1}% + {\mkpageprefix[pagination]{#1}}} + +\DeclareFieldFormat[inreference]{postnote}{% + \iffieldundef{pagination}% + {s\adddot v\adddot\addspace\mkbibquote{#1}} + {\mkpageprefix[pagination]{#1}}}% Removed \isdots here, also. + +\DeclareFieldFormat{pages}{% + \iffieldundef{bookpagination}% + {#1\isdot}% + {\mkpageprefix[bookpagination]{#1\isdot}}} + +\DeclareFieldFormat{bibnote}{\MakeCapital{#1}} + +\DeclareFieldFormat{edlang}{% + \ifbibstring{#1} + {\bibstring{#1}} + {\ifbibstring{ed#1} + {\bibstring{ed#1}} + {\ifcapital{\MakeCapital{#1}}{#1}}}} + +\DeclareFieldAlias[inbook]{title}[article]{title} + +\DeclareFieldAlias[inbook]{citetitle}[article]{title} + +\DeclareFieldAlias[inbook]{lostitle}[article]{lostitle} + +\DeclareFieldFormat[suppbook]{title}{% + \mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldAlias[suppbook]{citetitle}[suppbook]{lostitle} + +\DeclareFieldFormat[suppbook]{lostitle}{% + \usebibmacro{inforaft}% + \addspace% + \mkbibemph{\MakeSentenceCase*{#1}}\isdot} + +\DeclareFieldFormat[customc]{title}{% + \iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {#1}} + +\DeclareFieldFormat[customc]{citetitle}{% + \ifnameundef{author}% + {#1} + {\iffieldundef{nameaddon}% + {\mkbibemph{\bibstring{see}}% + \addspace% + #1}% + {\printfield{nameaddon}\addspace #1}}} + +\DeclareFieldAlias[suppcollection]{title}[suppbook]{title} + +\DeclareFieldAlias[suppcollection]{citetitle}[suppbook]{lostitle} + +\DeclareFieldAlias[suppcollection]{lostitle}[suppbook]{lostitle} + +\DeclareFieldAlias[booklet]{title}[book]{title} + +\DeclareFieldAlias[booklet]{citetitle}[book]{citetitle} + +\DeclareFieldAlias[booklet]{lostitle}[book]{lostitle} + +\DeclareFieldAlias[manual]{title}[book]{title} + +\DeclareFieldAlias[manual]{citetitle}[book]{citetitle} + +\DeclareFieldAlias[manual]{lostitle}[book]{lostitle} + +\DeclareFieldAlias[report]{title}[book]{title} + +\DeclareFieldAlias[report]{citetitle}[book]{citetitle} + +\DeclareFieldAlias[report]{lostitle}[book]{lostitle} + +\DeclareFieldFormat[misc]{title}{% + \iffieldundef{entrysubtype}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}} + +\DeclareFieldAlias[misc]{citetitle}[misc]{title} + +\DeclareFieldAlias[misc]{lostitle}[misc]{title} + +\DeclareFieldFormat[review]{title}{% + \ifcapital{\MakeCapital{#1\isdot}}% + {#1\isdot}} + +\DeclareFieldAlias[review]{lostitle}[review]{title} + +\DeclareFieldAlias[review]{citetitle}[review]{title} + +\DeclareFieldAlias[suppperiodical]{title}[review]{title} + +\DeclareFieldAlias[suppperiodical]{citetitle}[review]{title} + +\DeclareFieldAlias[suppperiodical]{lostitle}[review]{title} + +\DeclareFieldAlias[online]{title}[article]{title} + +\DeclareFieldAlias[online]{citetitle}[article]{title} + +\DeclareFieldAlias[online]{lostitle}[article]{lostitle} + +\DeclareFieldFormat{booktitle}{\mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat{maintitle}{\mkbibemph{\MakeSentenceCase*{#1}}} + +\DeclareFieldFormat[video]{title}{% + \iffieldundef{booktitle}% + {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}% + {\MakeSentenceCase*{#1}\isdot}} + +\DeclareFieldAlias[video]{citetitle}[video]{title} + +\DeclareFieldAlias[video]{lostitle}[video]{title} + +\DeclareFieldAlias[music]{title}[video]{title} + +\DeclareFieldAlias[music]{citetitle}[video]{title} + +\DeclareFieldAlias[music]{lostitle}[video]{title} + +\DeclareFieldAlias[audio]{title}[video]{title} + +\DeclareFieldAlias[audio]{citetitle}[video]{title} + +\DeclareFieldAlias[audio]{lostitle}[video]{title} + +%%%% Other Field Formats %%%% + +\DeclareNumChars*{:}% + +\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} + +\DeclareFieldFormat{note}{% + \ifcapital{\MakeCapital{#1}}{#1}}% + +\DeclareFieldFormat[suppbook]{type}{% + \ifbibstring{#1}% + {\bibstring{#1}}% + {\ifcapital% + {\MakeCapital{#1}}% + {#1}}} + +\DeclareFieldFormat[artwork]{type}{% + \ifcapital% + {\MakeCapital{#1}}% + {#1}} + +\DeclareFieldAlias[image]{type}[artwork]{type} + +\DeclareFieldAlias[suppcollection]{type}[suppbook]{type} + +\DeclareFieldAlias[video]{type}[suppbook]{type} + +\DeclareFieldAlias[music]{type}[suppbook]{type} + +\DeclareFieldAlias[audio]{type}[suppbook]{type} + +\DeclareFieldFormat{url}{\url{#1}} + +\DeclareFieldFormat{doi}{% + \textrm{doi}\addcolon + \ifhyperref + {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} + +\DeclareFieldFormat{urldate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{urlseen}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{urldate}{% 16th ed. + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% + {\bibstring{urlseen}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[music]{urldate}{% 16th ed. + \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}% + \OR\NOT\iffieldundef{origyear}}% + {\bibstring{urlseen}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[music]{origdate}{% 16th ed. + \iftoggle{cms@reprint}% Date fix + {#1}% + {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}% + {\bibstring{recorded}\space #1}% + {\printfield{userd}\addspace #1}}} + +\DeclareFieldFormat[music]{eventdate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{recorded}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldFormat[video]{eventdate}{% 16th ed. + \iffieldundef{userd}% + {\bibstring{broadcast}\space #1}% + {\printfield{userd}\addspace #1}} + +\DeclareFieldAlias{userd}{titleaddon}% 16th ed. + +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?! + +\DeclareFieldFormat[review]{nameaddon}{#1\bibsentence}% 16th ed. + +\DeclareFieldFormat[customc]{nameaddon}{% For cross-refs + \ifbibstring{#1}% + {\mkbibemph{\bibstring{#1}}}% + {#1}}% + +\DeclareFieldFormat{edition}{% New in 0.8 + \ifinteger{#1} + {\mkbibordinal{#1}~\bibstring{edition}}% + {\ifcapital + {\MakeCapital{#1\isdot}}% + {#1\isdot}}} + +\DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? + +\DeclareFieldFormat{titleaddon}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? + +\DeclareFieldAlias{booktitleaddon}{titleaddon} + +\DeclareFieldAlias{maintitleaddon}{titleaddon} + +\DeclareFieldFormat{issuetitle}{\MakeSentenceCase*{#1\isdot}} + +\DeclareFieldFormat{jourser}{% + \ifinteger{#1}% + {\mkbibordinal{#1}% + \addnbspace% + \bibstring{jourser}}% + {\ifbibstring{#1}{\bibstring{#1}}{#1}}} + +\DeclareFieldFormat{journum}{% Revised for 0.9.5 + \ifboolexpr{% + test {\ifnumerals{#1}} + and + not test {\ifnumeral{#1}} + }% + {\bibstring{numbers}\addspace #1}% + {\bibstring{number}\addspace #1}} + +\DeclareFieldFormat{sernum}{% + \ifnumeral{#1}% + {\addnbspace #1}% + {\addcomma\addspace #1}} + +\DeclareFieldFormat{addendum}{% + \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + +% This works better here than in the entrytail macro -- userf use is +% no longer a problem, though the page breaking still isn't ideal. + +\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1} + +\DeclareFieldFormat{part}{\addcomma\bibstring{partvolume}~#1} + +\DeclareFieldAlias[review]{volume}[article]{volume} + +\DeclareFieldAlias[suppperiodical]{volume}[article]{volume} + +%%%% Commands, for users and internal %%%% + +\newcommand*{\cbytypeeditor}{% Needed? + \iffieldundef{editortype} + {\bibstring{cbytypeeditor}} + {\bibstring{cbytype\thefield{editortype}}}} + +\renewcommand*{\multicitedelim}{\addsemicolon\space} + +\renewcommand*{\nameyeardelim}{% + \iffieldundef{origyear}% Is this test correct? + {\iffieldundef{year}% + {\addspace} + {\NumCheckSetup{\renewcommand{\mkbibbrackets}{\expandonce}% + \DeclareNumChars*{[?]s}}% For bracketed dates, and decades. + \iffieldnums{year}% This one works. + {\addspace}% + {\iffieldequalstr{year}{\bibstring{nodate}}% This also works. + {\addspace} + {\addcomma\addspace}}}}% + {\addspace}} + +\newcommand{\classicpunct}{% + \ifthenelse{\iffieldequalstr{entrysubtype}{classical}\OR% + \iffieldequalstr{entrytype}{letter}}% + {\setunit*{\addspace}}% + {\setunit*{\addcomma\addspace}}} + +\newcommand{\parttrans}{% + {\bibstring{bytranslator}\space}}% + +\newcommand{\partedit}{% + \iftoggle{cms@postposit}% Kludge to make it work in French. + {\bibstring{byeditoralt}\addspace}% + {\bibstring{byeditor}\addspace}}% + +\newcommand{\partcomp}{% + {\bibstring{bycompiler}\space}}% + +\newcommand{\parteditandcomp}{% + {\bibstring{byeditorcp}\space}}% + +\newcommand{\parttransandcomp}{% + {\bibstring{bytranslatorcp}\space}}% + +\newcommand{\partedittransandcomp}{% + {\bibstring{byeditortrcp}\space}}% + +\newcommand{\parteditandtrans}{% + {\bibstring{byeditortr}\space}}% + +\newcommand{\reprint}{\bibstring{reprint}}% + +\newcommand*{\multipubsdelim}{\addnbspace/\addspace} + +\newcommand*{\multilocsdelim}{% + \ifthenelse{\value{listcount}<\value{liststop}}% + {\ifthenelse{\numexpr\value{listcount}+1<\value{liststop}}% + {\addcomma\addspace}% + {\ifthenelse{\value{liststop}>2}% + {\addcomma\addspace\bibstring{and}\addspace}% + {\addspace\bibstring{and}\addspace}}}% + {}} + +\newcommand*{\multilangdelim}{% + \ifthenelse{\value{listtotal}<3}% + {\addspace\bibstring{and}\addspace}% + {\ifthenelse{\value{listcount}<\value{listtotal}}% + {\addcomma\addspace}% + {\addcomma\addspace\bibstring{and}\addspace}}} + +\renewcommand*{\postnotedelim}{% + \iftoggle{cms@inlineibid}% + {\togglefalse{cms@inlineibid}}% + {\iffieldequalstr{entrysubtype}{classical}% For Notes+Bib, too? + {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}% + \iffieldpages{postnote}% + {\addspace}% + {\addcomma\addspace}}% + {\addcomma\addspace}}} + +\newcommand*{\editordelim}{% Otherwise you get an inaccurate comma. + \iffieldequalstr{editortype}{none}% + {\addperiod\addspace}% + {\addcomma\addspace}} + +\newcommand*{\lbx@cfromlang}{% + \iffieldundef{userf} + {\iffieldundef{origlanguage} + {\unspace} + {\bibstring{cfrom\thefield{origlanguage}}}}% + {\unspace}} + +\@ifpackagelater{biblatex}{2011/11/12} +{\renewcommand*{\lbx@fromlang}{% + \iffieldundef{userf} + {\iffieldundef{origlanguage} + {\unspace} + {\bibstring{from\thefield{origlanguage}}}}% + {\unspace}}} +{\@ifpackagelater{biblatex}{2011/07/28} + {\newcommand*{\lbx@fromlang}{% + \iffieldundef{userf} + {\iffieldundef{origlanguage} + {\unspace} + {\bibstring{from\thefield{origlanguage}}}}% + {\unspace}}}% + {\renewcommand*{\lbx@fromlang}{% + \iffieldundef{userf} + {\iffieldundef{origlanguage} + {\unspace} + {\bibstring{from\thefield{origlanguage}}}}% + {\unspace}}}} + +\renewcommand*{\lbx@lfromlang}{% + \iffieldundef{userf} + {\iffieldundef{origlanguage} + {\unspace} + {\biblstring{from\thefield{origlanguage}}}}% + {\unspace}} + +\renewcommand*{\lbx@sfromlang}{% + \iffieldundef{userf} + {\iffieldundef{origlanguage} + {\unspace} + {\bibsstring{from\thefield{origlanguage}}}}% + {\unspace}} + +%%%% Formatting macros, called both by cbx and bbx %%%% + +\newbibmacro*{finentry}{%{\finentry} To make annotated bibliography + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography + \newunit\newblock + \iftoggle{cms@annotation} + {\usebibmacro{annotation}% + \newunit\newblock} + {}}% + +\newbibmacro*{author+holder}{% + \ifnameundef{author} + {\let\bbx@lasthash\undefined} + {\usebibmacro{author/editor}% + \ifthenelse{\ifnameundef{holder}\OR + \ifnamesequal{author}{holder}} + {} + {\setunit{\addspace}% + \printtext[parens]{\printnames{holder}}}}} + +\renewbibmacro*{byauthor}{% + \ifthenelse{\ifuseauthor\OR + \ifnameundef{author}} + {} + {\bibstring{by}\addspace + \printnames[byauthor]{author}}} + +\newbibmacro*{byauthorpunct}{% + \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}% + {\addperiod\addspace}% + {\newcunit}} + +\renewbibmacro*{bybookauthor}{% + \ifnameundef{bookauthor} + {} + {\ifnamesequal{author}{bookauthor} + {} + {\bibstring{by}\addspace\printnames[default]{bookauthor}% + \newcunit\newblock}}} + +\newbibmacro*{editorpunct}{% + \ifthenelse{\(\iffieldundef{booktitle}\AND\iffieldundef{maintitle}\)% + \OR\iffieldsequal{booktitle}{title}% Changed these for crossrefed + \OR\iffieldsequal{maintitle}{title}}% entries. Create problems? + {\iffieldequalstr{entrytype}{video}% + {\newcunit\newblock}% + {\newunit\newblock}}% + {\newcunit\newblock}} + +\newbibmacro*{edition}{% + \printfield{edition}% + \clearfield{edition}}% + +\newbibmacro*{inforaft}{% + \ifnameundef{introduction}% + {\ifnameundef{afterword}% + {\ifnameundef{foreword}% + {\printfield{type}}% + {\bibstring{forewordto}% + \clearname{foreword}}}% + {\bibstring{afterwordto}% + \clearname{afterword}}}% + {\bibstring{introductionto}% + \clearname{introduction}}} + +\newbibmacro*{langlist:andothers}{% + \ifthenelse{\value{listcount}=\value{liststop}\AND + \ifmoreitems} + {\ifnum\value{liststop}>1 \finalandcomma\fi + \andmoredelim\bibstring{andmore}\bibrightbracket} + {}} + +\newbibmacro*{reference+title}{% + \ifthenelse{\iffieldequals{title}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\bibnamedash\addperiod\addspace}% + {\usebibmacro{italtitle+stitle}% + \savefield{title}{\bbx@lasthash}}} + +\newbibmacro*{mag+news+author}{% + \ifnameundef{author}% + {\ifthenelse{\iffieldequals{journaltitle}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\bibnamedash\addperiod\addspace}% + {\usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \savefield{journaltitle}{\bbx@lasthash}}}% + {\usebibmacro{author}}} + +\newbibmacro*{cmag+news+author}{% + \ifnameundef{author}% + {\usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}}% + {\usebibmacro{author}}} + +\newbibmacro*{type+inst+year}{% + \printfield{type} + \newcunit + \printlist{institution}% + \setunit*{\addcomma\space}% + \printfield{year}} + +\newbibmacro*{institution+organization}{% + \iflistundef{organization}% + {\iflistundef{institution}% + {}% + {\printlist{institution}}}% + {\printlist{organization}% + \newcunit% + \printlist{institution}}} + +\newbibmacro*{author+org}{% + \ifnameundef{author}% + {\ifnameundef{editor}% + {\iflistundef{organization}% + {\let\bbx@lasthash\undefined}% + {\ifboolexpr{ + test {\iflistequals{organization}{\bbx@lasthash}} + and + not test {\iffirstonpage} + }% + {\bibnamedash\addperiod\addspace}% + {\iftoggle{cms@authorparens}% + {\bibopenparen\printlist{organization}\bibcloseparen}% + {\printlist{organization}}% + \savelist{organization}{\bbx@lasthash}}}}% + {\usebibmacro{editor}}}% + {\usebibmacro{author/editor}}} + +\newbibmacro*{cbytypestrg}[2]{% + \iffieldundef{#1type} + {\bibstring{by#2}} + {\bibstring{by\thefield{#1type}}}} + +\newbibmacro*{cbyeditor}{% + \ifnameundef{editor} + {} + {\usebibmacro{cbytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \newcunit}% + \usebibmacro{cbyeditorx}} + +\newbibmacro*{cbyeditorx}{% + \ifnameundef{editora} + {} + {\usebibmacro{cbytypestrg}{editora}{editor}% + \setunit{\addspace}% + \printnames[byeditora]{editora}% + \newcunit}% + \ifnameundef{editorb} + {} + {\usebibmacro{cbytypestrg}{editorb}{editor}% + \setunit{\addspace}% + \printnames[byeditorb]{editorb}% + \newcunit}% + \ifnameundef{editorc} + {} + {\usebibmacro{cbytypestrg}{editorc}{editor}% + \setunit{\addspace}% + \printnames[byeditorc]{editorc}% + \newcunit}} + +\newbibmacro*{cbytranslator}{% + \ifnameundef{translator} + {} + {\bibstring{bytranslator}% + \addspace + \printnames[bytranslator]{translator}}} + +\newbibmacro*{cbycompiler}{% + \ifnameundef{namec} + {} + {\bibstring{cbycompiler}\addspace + \printnames[bycompiler]{namec}}} + +\newbibmacro*{cbyredactor}{% + \ifnameundef{redactor} + {} + {\bibstring{cbyredactor}\addspace + \printnames[byredactor]{redactor}}} + +\newbibmacro*{cwithcommentator}{% + \ifnameundef{commentator} + {} + {\bibstring{withcommentator}\addspace + \printnames[withcommentator]{commentator}}} + +\newbibmacro*{cwithannotator}{% + \ifnameundef{annotator} + {} + {\bibstring{withannotator}\addspace + \printnames[withannotator]{annotator}}} + +\newbibmacro*{cwithintroduction}{% + \ifnameundef{introduction} + {} + {\bibstring{withintroduction}\addspace + \printnames[withintroduction]{introduction}}} + +\newbibmacro*{cwithforeword}{% + \ifnameundef{foreword} + {} + {\bibstring{withforeword}\addspace + \printnames[withforeword]{foreword}}} + +\newbibmacro*{cwithafterword}{% + \ifnameundef{afterword} + {} + {\bibstring{withafterword}\addspace + \printnames[withafterword]{afterword}}} + +\newbibmacro*{cbyeditor+others}{% + \ifthenelse{\NOT\ifnameundef{editor}\AND + \(\iffieldundef{editortype}\OR + \iffieldequalstr{editortype}{editor}\)} + {\def\@tempa{cbyeditor}% + \ifnamesequal{editor}{translator} + {\edef\@tempa{\@tempa tr}% + \clearname{translator}} + {}% + \ifnamesequal{editor}{namec} + {\edef\@tempa{\@tempa cp}% + \clearname{namec}} + {}% + \ifnamesequal{editor}{commentator} + {\edef\@tempa{\@tempa co}% + \clearname{commentator}} + {\ifnamesequal{editor}{annotator} + {\edef\@tempa{\@tempa an}% + \clearname{annotator}} + {}}% + \ifnamesequal{editor}{introduction} + {\edef\@tempa{\@tempa in}% + \clearname{introduction}} + {\ifnamesequal{editor}{foreword} + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}} + {\ifnamesequal{editor}{afterword} + {\edef\@tempa{\@tempa af}% + \clearname{afterword}} + {}}}% + \bibstring{\@tempa}\space + \printnames[byeditor]{editor}% + \clearname{editor}% + \newcunit% + \usebibmacro{cbyeditorx}}% + {\usebibmacro{cbyeditor}}% + \usebibmacro{cbytranslator+others}} + +\newbibmacro*{cbytranslator+others}{% + \ifnameundef{translator} + {} + {\def\@tempa{cbytranslator}% + \ifnamesequal{translator}{namec} + {\edef\@tempa{\@tempa cp}% + \clearname{namec}} + {}% + \ifnamesequal{translator}{commentator} + {\edef\@tempa{\@tempa co}% + \clearname{commentator}} + {\ifnamesequal{translator}{annotator} + {\edef\@tempa{\@tempa an}% + \clearname{annotator}} + {}}% + \ifnamesequal{translator}{introduction} + {\edef\@tempa{\@tempa in}% + \clearname{introduction}} + {\ifnamesequal{translator}{foreword} + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}} + {\ifnamesequal{translator}{afterword} + {\edef\@tempa{\@tempa af}% + \clearname{afterword}} + {}}}% + \bibstring{\@tempa}\space + \printnames[bytranslator]{translator}% + \clearname{translator}% + \newcunit}% + \usebibmacro{cbycompiler+others}} + +\newbibmacro*{cbycompiler+others}{% + \ifnameundef{namec} + {} + {\def\@tempa{cbycompiler}% + \ifnamesequal{namec}{commentator} + {\edef\@tempa{\@tempa co}% + \clearname{commentator}} + {\ifnamesequal{namec}{annotator} + {\edef\@tempa{\@tempa an}% + \clearname{annotator}} + {}}% + \ifnamesequal{namec}{introduction} + {\edef\@tempa{\@tempa in}% + \clearname{introduction}} + {\ifnamesequal{namec}{foreword} + {\edef\@tempa{\@tempa fo}% + \clearname{foreword}} + {\ifnamesequal{namec}{afterword} + {\edef\@tempa{\@tempa af}% + \clearname{afterword}} + {}}}% + \bibstring{\@tempa}\space + \printnames[bycompiler]{namec}% + \clearname{namec}% + \newcunit}% + \usebibmacro{cbyothers}} + +\newbibmacro*{cbyothers}{% + \usebibmacro{cbytranslator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cbycompiler}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cbyredactor}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithcommentator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithannotator}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithintroduction}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithforeword}% + \setunit*{\addcomma\addspace}% + \usebibmacro{cwithafterword}} + +\newbibmacro*{cms-in:}{% Fix for 0.9a compat. + \iftoggle{cms@origpublished}% + {}% + {\bibstring{in}% + \setunit{\addspace}}} + +\newbibmacro*{alt-in:}{% + \iffieldundef{booktitle}% + {} + {\bibstring{in}% + \setunit{\addspace}}} + +\newbibmacro*{chapincoll}{% + \iffieldundef{chapter}% + {} + {\printfield{chapter}\addspace}} + +\newbibmacro*{chapinscore}{% + \iffieldundef{chapter}% + {\ifthenelse{\iffieldequalstr{entrytype}{music}% + \AND\NOT\iffieldundef{booktitle}}% + {\bibstring{on}\setunit{\addspace}}% + {}}% + {\printfield{chapter}% + \addspace\bibstring{of}\setunit{\addspace}}} + +\newbibmacro*{music+ser+num}{% + \iffieldundef{series}% + {\iffieldundef{number}% + {}% + {\printfield{number}}} + {\printfield{series}% + \setunit{\addspace}% + \printfield{number}}}% + +\newbibmacro*{music+publisher}{% + \iffieldundef{howpublished}% + {\iffieldundef{pubstate}% + {}% + {\printfield{pubstate}}}% + {\printfield{howpublished}}}% + +\newbibmacro*{music+origdate}{% + \iftoggle{cms@reprint}% 16th ed. + {}% + {\iftoggle{cms@switchdates}% Date fix + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {}% + {\usebibmacro{cmsorigdate}}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {}% + {\usebibmacro{cmsorigdate}}}}}% + +\newbibmacro*{music+eventdate}{% Date fix + \ifthenelse{\iffieldundef{eventyear}\AND\iffieldundef{eventmonth}}% + {}% + {\printeventdate}} + +\newbibmacro*{ser+num}{% + \printfield{series}% + \printfield[sernum]{number}% + \newunit} + +\newbibmacro*{video+title}{% + \printtext{% + \printfield{title}% + \setunit{\addcolon\addspace}% + \printfield[title]{subtitle}}} + +\newbibmacro*{italtitle+stitle}{% + \printtext{% + \printfield{title}% + \setunit{\addcolon\addspace}% + \printfield[title]{subtitle}}% + \newunit\newblock% + \printfield{titleaddon}% + \setunit{\addspace}% + \usebibmacro{language+transtitle}% + \newunit\newblock} + +\newbibmacro*{mag+news+title}{% + \printtext{% + \printfield{title}% + \setunit{\addcolon\addspace}% + \printfield[title]{subtitle}}% + \newunit%\setunit{\addcomma\addspace} + \printfield{titleaddon}% + }%\newcunit\newblock + +\newbibmacro*{language+transtitle}{% + \iffieldundef{usere}% + {\printlist[][-\value{listtotal}]{language}}% + {\printfield{usere}}} + +\newbibmacro*{issuetitle}{% + \iffieldundef{issuetitle}% + {} + {\ifthenelse{\iffieldequalstr{entrytype}{article}\OR% + \iffieldequalstr{entrytype}{review}\OR% + \iffieldequalstr{entrytype}{suppperiodical}}% This test is for + {\usebibmacro{cms-in:}}% periodical entries + {}% + \printtext{% + \printfield{issuetitle}% + \setunit{\addcolon\addspace}% + \printfield[issuetitle]{issuesubtitle}}}} + +\newbibmacro*{btitle+bstitle}{% + \iffieldundef{booktitle} + {} + {\printtext{% + \printfield{booktitle}% + \setunit{\addcolon\addspace}% + \printfield[booktitle]{booksubtitle}}% + \newcunit + \printfield{booktitleaddon}}} + +\newbibmacro*{publ+loc+year}{% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{publisher}% + \setunit*{\addcomma\addspace} + \usebibmacro{date}% For the author-date style. Tricky. +}% + +\newbibmacro*{origpubl+loc+year}{% 16th ed. + \printlist{origlocation}% + \iflistundef{origpublisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}% + \printlist{origpublisher}% +% \setunit*{\addcomma\addspace}% +% \usebibmacro{cmsorigdate}% +} + +\newbibmacro*{howpubl+loc+year}{% + \printlist{location}% + \iffieldundef{howpublished}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printfield{howpublished}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% +}% + +\newbibmacro*{inst+loc+year}{% + \printlist{location}% + \iflistundef{institution}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% +}% + +\newbibmacro*{originally+published+as}{% Punctuation fix now in + \iffieldundef{userf}% \origfullcite for 0.8e. + {\iffieldundef{reprinttitle}% + {} + {\bibstring{origpublin}% + \origpublcite{\thefield{reprinttitle}}% + \newunit}} + {\iffieldundef{origlanguage}% + {\bibstring{origpub}% + \origfullcite{\thefield{userf}} + \newunit}% + {\iftoggle{cms@postposit}% + {\bibstring{origedition}% + \setunit{\addspace}% + \printfield[edlang]{origlanguage}% + \addcolon% + \origfullcite{\thefield{userf}}% + \newunit}% + {\printfield[edlang]{origlanguage}% + \setunit{\addspace}% + \bibstring{origedition}% + \origfullcite{\thefield{userf}} + \newunit}}}} + +\newbibmacro*{org+publ+loc+year}{% What was wrong with \ifthenelse here? + \printlist{location}% + \iflistundef{organization}% + {\iflistundef{publisher}% + {\setunit*{\addcomma\addspace}}% + {\setunit*{\addcolon\addspace}}}% + {\setunit*{\addcolon\addspace}}% + \printlist{organization}% + \setunit*{\addcomma\space}% + \printlist{publisher}% + \setunit*{\addcomma\addspace}% + \usebibmacro{date}} + +\newbibmacro*{year+in+parens}{% + \iffieldundef{volume}% + {noformat}% + {parens}} + +\newbibmacro*{letter+date}{% New for 0.9 + \iflistundef{origlocation}% + {}% + {\printlist{origlocation}% + \newcunit\newblock}% + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {}% + {\cms@datelongalt}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {}% + {\cms@datelong}}} + +\newbibmacro*{unpubl+letter+date}{% For the Misc type. + \iflistundef{origlocation}% + {}% + {\printlist{origlocation}% + \newcunit\newblock}% + \iftoggle{cms@switchdates}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {}% + {\cms@datelongalt}}% + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}% + {\printdate}% For interviews and other dated non-letters + {\cms@datelong}}} + +\newbibmacro*{cmsbookdate}{% + \ifthenelse{\iffieldundef{year}\AND\iffieldundef{origyear}}% + {\newunit}% + {\iftoggle{cms@switchdates}% + {\iffieldundef{origyear}% + {\newunit}% + {\newcunit\printorigdate}}% + {\iffieldundef{year}% + {\newunit}% + {\newcunit\printdate}}}} + +\renewbibmacro*{date}{% Adding the test solved some issues in 0.9 with + \iftoggle{cms@switchdates} + {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth} + \AND\iffieldundef{origday}}% + {}% + {\printorigdate}}% + {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month} + \AND\iffieldundef{day}}% punctuation in some entry types (Misc). The + {}% whole \printdate thing may need further work. + {\printdate}}} + +\newcommand*{\cms@datelong}{% Modified for 0.9 + \iffieldundef{origmonth}% + {\printfield{origyear}}% + {\printfield[letterday]{origday}\setunit{\nobreakspace}% + \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}% + \printfield{origyear}}}% + +\newcommand*{\cms@datelongalt}{% Modified for 0.9 + \iffieldundef{month}% + {\printfield{year}}% + {\printfield[letterday]{day}\setunit{\nobreakspace}% + \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}% + \printfield{year}}}% + +\newcommand*{\letterdatelong}{% Modified for 0.9 + \iftoggle{cms@switchdates}% This one for users + {\iffieldundef{year}% Previous two for internal use + {}% + {\iffieldundef{month}% + {\printfield{year}}% + {\printfield[letterday]{day}\setunit{\nobreakspace}% + \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}% + \printfield{year}}}}% + {\iffieldundef{origyear}% + {}% + {\iffieldundef{origmonth}% + {\printfield{origyear}}% + {\printfield[letterday]{origday}\setunit{\nobreakspace}% + \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}% + \printfield{origyear}}}}}% + +\newbibmacro*{cjournal+ser+vol+num}{% + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newcunit + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\iffieldundef{volume}% + {\newcunit% + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}} + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}}}% + {\printfield[jourvol]{volume}% + \newcunit% + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}}% need * here? + \printfield{eid}% + \newunit} + +\newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries, + \printtext{% article subtype + \printfield{title}% + \setunit{\addcolon\addspace}% + \printfield[title]{subtitle}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newcunit + \printfield[jourser]{series}% + \newcunit}%\setunit*{\addspace}? + \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}% + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}}% + {\printfield[jourvol]{volume}% + \setunit{\addcomma\addspace}% need * here? + \printfield[journum]{number}% + \clearfield{number}% + \setunit{\addcomma\addspace}}% + \printfield{eid}% + \newunit} + +\newbibmacro*{journal+sub}{% + \iffieldundef{journaltitle} + {} + {\printtext[journaltitle]{% + \printfield[noformat]{journaltitle}% + \setunit{\addcolon\addspace}% + \printfield[noformat]{journalsubtitle}}}} + +% \newbibmacro*{url+date}{% Changed for 0.9: No longer used? +% \printfield{url}% +% \iffieldundef{urlyear} +% {} +% {\setunit{\addspace}% +% \printtext[urldate]{\printurldate}}} + +\newbibmacro*{chap+pag}{% + \printfield{chapter}% + \setunit*{\addcomma\space}% + \printfield{pages}} + +\newbibmacro*{mag+news+date}{% + \ifnameundef{author}% + {\usebibmacro{date+issue}}% + {\usebibmacro{mag+date+issue}}} + +\newbibmacro*{date+issue}{% + \iffieldundef{issue} + {\iffieldundef{number}% + {\usebibmacro{date}}% + {\iftoggle{cms@numbermonth}% + {\usebibmacro{date}}% + {\usebibmacro{cmsyear}}% + \setunit*{\addcomma\addspace}% Starred version for when the + \printfield[journum]{number}}}% month isn't printed because of + {\printfield{issue}% the toggle. + \setunit{\addspace}% + \usebibmacro{cmsyear}}} + +\newbibmacro*{mag+date+issue}{% + \usebibmacro{journal+sub}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + +\newbibmacro*{cmsyear}{% + \iftoggle{cms@switchdates}% + {\printfield{origyear}}% + {\printfield{year}}} + +\newbibmacro*{cmsorigdate}{% New for 0.9 + \iftoggle{cms@switchdates}% + {\printdate}% + {\printorigdate}} + +\newbibmacro*{periodical+date+issue}{% For periodical type & + \printtext[title]{% magazine subtype + \printfield[noformat]{title}% + \setunit{\addcolon\addspace}% + \printfield[noformat]{subtitle}}% + \setunit*{\addspace}% + \printlist[periodplace]{location}% + \newcunit\newblock + \printfield{usera}% For network ID and possible section of newspaper. + \newcunit\newblock + \usebibmacro{date+issue}} + +\newbibmacro*{cmtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle} + {} + {\iffieldundef{volume} + {\printtext{% + \printfield{maintitle}% + \setunit{\addcolon\addspace}% + \printfield[maintitle]{mainsubtitle}}% + \newcunit + \printfield{maintitleaddon}} + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext{% + \printfield{maintitle}% + \setunit{\addcolon\addspace}% + \printfield[maintitle]{mainsubtitle}}% + \newcunit + \printfield{maintitleaddon}}}} + +\newbibmacro*{cmtitle+mstitle+vol+part+btitle+bstitle}{% + \usebibmacro{btitle+bstitle}% + \newcunit + \iffieldundef{maintitle} + {} + {\iffieldundef{volume} + {\printtext{% + \printfield{maintitle}% + \setunit{\addcolon\addspace}% + \printfield[maintitle]{mainsubtitle}}% + \newcunit + \printfield{maintitleaddon}} + {\printfield{volume}% + \printfield{part}% + \setunit{\addspace} + \bibstring{ofseries}% + \setunit{\addspace} + \printtext{% + \printfield{maintitle}% + \setunit{\addcolon\addspace}% + \printfield[maintitle]{mainsubtitle}}% + \newcunit + \printfield{maintitleaddon}}}} + +\renewbibmacro*{postnote}{% + \iffieldundef{postnote}% + {}% + {\setunit{\postnotedelim}% + \printfield{postnote}}} + +\newbibmacro*{part+editor+translator}{% + \ifnameundef{namea}% + {\ifnameundef{nameb}% + {} + {\bibstring{bytranslator}\space% + \printnames[bytranslator]{nameb}}}% +{\ifnamesequal{namea}{nameb}% + {\bibstring{byeditortr}\space% + \printnames[byeditor]{namea}}% + {\bibstring{byeditor}\space% + \printnames[byeditor]{namea}% + \ifnameundef{nameb}% + {} + {\newunit + \bibstring{bytranslator}\space% + \printnames[bytranslator]{nameb}}}}} + +\newbibmacro*{compilestrg}{% + \ifthenelse{\value{namec}>1\OR\ifandothers{namec}} + {\bibstring{compilers}} + {\bibstring{compiler}} + \clearname{namec}} + +\newbibmacro*{transstrg}{% + \ifthenelse{\value{translator}>1\OR\ifandothers{translator}} + {\ifnamesequal{translator}{namec}% + {\bibstring{transcompilers}% + \clearname{namec}}% + {\bibstring{translators}}}% + {\ifnamesequal{translator}{namec}% + {\bibstring{transcompiler}% + \clearname{namec}}% + {\bibstring{translator}}} + \clearname{translator}} + +\newbibmacro*{parttransstrg}{% + \ifthenelse{\value{nameb}>1\OR\ifandothers{nameb}} + {\ifnamesequal{nameb}{namec}% + {\bibstring{transcompilers}% + \clearname{namec}}% + {\bibstring{translators}}}% + {\ifnamesequal{nameb}{namec}% + {\bibstring{transcompiler}% + \clearname{namec}}% + {\bibstring{translator}}} + \clearname{nameb}} + +\newbibmacro*{editstrg}{% Test added for 0.9 + \ifthenelse{\iffieldundef{editortype}\OR + \iffieldequalstr{editortype}{editor}} + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} + {\ifthenelse{\ifnamesequal{editor}{translator}\AND + \ifnamesequal{editor}{namec}} + {\bibstring{editortranscompilers}% + \clearname{translator}% + \clearname{namec}}% + {\ifnamesequal{editor}{namec}% + {\bibstring{editorcompilers}% + \clearname{namec}}% + {\ifnamesequal{editor}{translator}% + {\bibstring{editortranslators}% + \clearname{translator}}% + {\bibstring{editors}}}}}% + {\ifthenelse{\ifnamesequal{editor}{translator}\AND + \ifnamesequal{editor}{namec}} + {\bibstring{editortranscompiler}% + \clearname{translator}% + \clearname{namec}}% + {\ifnamesequal{editor}{namec}% + {\bibstring{editorcompiler}% + \clearname{namec}}% + {\ifnamesequal{editor}{translator}% + {\bibstring{editortranslator}% + \clearname{translator}}% + {\bibstring{editor}}}}}}% + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} + {\bibstring{\thefield{editortype}s}} + {\bibstring{\thefield{editortype}}}} + \clearname{editor}} + +\newbibmacro*{parteditstrg}{% + \ifthenelse{\value{namea}>1\OR\ifandothers{namea}} + {\ifthenelse{\ifnamesequal{namea}{nameb}\AND + \ifnamesequal{namea}{namec}} + {\bibstring{editortranscompilers}% + \clearname{nameb}% + \clearname{namec}}% + {\ifnamesequal{namea}{namec}% + {\bibstring{editorcompilers}% + \clearname{namec}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{editortranslators}% + \clearname{nameb}}% + {\bibstring{editors}}}}}% + {\ifthenelse{\ifnamesequal{namea}{nameb}\AND + \ifnamesequal{namea}{namec}} + {\bibstring{editortranscompiler}% + \clearname{nameb}% + \clearname{namec}}% + {\ifnamesequal{namea}{namec}% + {\bibstring{editorcompiler}% + \clearname{namec}}% + {\ifnamesequal{namea}{nameb}% + {\bibstring{editortranslator}% + \clearname{nameb}}% + {\bibstring{editor}}}}}% + \clearname{namea}} + +\newbibmacro*{clearpublin}{% + \clearname{author}% + \clearname{namea}% + \clearname{nameb}% + \clearfield{nameaddon}% + \clearfield{title}% + \clearfield{subtitle}% + \clearfield{titleaddon}% + \clearfield{reprinttitle}% + \clearfield{usere}% + \clearlist{language}% +} + +\endinput |