% $Id: chicago-notes-df.cbx,v 0.8.9.2 2009/07/05 21:05:07 dfussner Exp $
% This is a biblatex citation style file, adapted from Lehman's
% authortitle-cverb.cbx.  It is heavily modified, with the intention
% of providing footnote citations and a bibliography formatted
% according to the specifications of the Chicago Manual of Style.

\ProvidesFile{chicago-notes-df.cbx}[2009/07/05 v0.8 biblatex citation style]

%%%% Biblatex initialization + Chicago options + Toggles %%%%

\providecommand*{\mkibid}[1]{#1}

\providetoggle{cms@headlessnote}
\providetoggle{cms@fullnote}
\providetoggle{cms@shortnote}
\providetoggle{cms@allshort}
\providetoggle{cms@forlang}
\providetoggle{cms@noibid}
\providetoggle{cms@usecompiler}
\providetoggle{cms@shorthandibid}
\providetoggle{cms@printshhand}

\AtEveryCitekey{%
  \iflistundef{language}%
  {\iffieldundef{usere}%
    {\togglefalse{cms@forlang}}%
    {\toggletrue{cms@forlang}}}%
  {\toggletrue{cms@forlang}}}%

\DeclareBibliographyOption{noibid}[true]{%
  \global\toggletrue{cms@noibid}}

\DeclareBibliographyOption{short}[true]{%
  \global\toggletrue{cms@allshort}}

\DeclareBibliographyOption{shorthandibid}[true]{%
  \global\toggletrue{cms@shorthandibid}}

\DeclareBibliographyOption{usecompiler}[true]{%
  \settoggle{cms@usecompiler}{#1}}

\DeclareEntryOption{usecompiler}[true]{%
  \settoggle{cms@usecompiler}{#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}

% The following is from biblatex.sty; I've removed a \blx@postpunct
% from it which was preventing the final period provided by
% \mkbibfootnote from being taken within any quotation marks at the
% end of a \usedriver entry (specifically, InReference entries).  It
% may cause other problems. (?)  Update [2009/06/16]: Philipp doesn't
% think it will cause too many problems, so he's removing it from the
% next version of biblatex.  Until then, I'll test for the date of
% biblatex and leave the revised definition in for the current
% version.

\@ifpackagelater{biblatex}{2009/06/01}
  {}
  {\protected\def\blx@finentry@usedrv{%
      \unspace
      \blx@initunit}}

\newcommand*{\newcunitpunct}{\addcomma\space}

\def\mkbibcurdinal#1{%
  \@tempcnta0#1 \the\@tempcnta}%

%%%% Initialize and define bibstrings %%%%

%%%% Now in cms-american.lbx %%%%

%%%% Cite macros for use by the citation commands %%%%

\newbibmacro*{cite:init}{%
  \global\let\cbx@lastkey\undefined}

\newbibmacro*{cite:save}{%
  \savefield{entrykey}{\cbx@lastkey}}

\newbibmacro*{cite}{%
  \ifciteseen
    {\iffieldundef{shorthand}
       {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
          {\usebibmacro{cite:ibid}}
          {\global\toggletrue{cms@shortnote}%
            \global\togglefalse{cms@fullnote}%
            \usebibmacro{cite:short}%
           \usebibmacro{cite:save}}}
       {\iftoggle{cms@shorthandibid}%
         {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
           {\usebibmacro{cite:ibid}}%
           {\usebibmacro{cite:shorthand}%
             \usebibmacro{cite:save}}}
         {\usebibmacro{cite:shorthand}%
           \usebibmacro{cite:save}}}}
    {\iftoggle{cms@allshort}%
      {\global\toggletrue{cms@shortnote}%
        \global\togglefalse{cms@fullnote}%
        \global\toggletrue{cms@printshhand}%
        \usebibmacro{cite:short}
        \usebibmacro{cite:save}}%
      {\global\toggletrue{cms@fullnote}%
        \global\togglefalse{cms@shortnote}%
        \usebibmacro{cite:full}%
        \usebibmacro{cite:save}}}}%

\newbibmacro*{crosscite}{%
  \ifciteseen
    {\iffieldundef{shorthand}
       {\ifthenelse{\iffieldequals{entrykey}{\cbx@lastkey}\AND
                    \NOT\iffirstonpage}
          {\usebibmacro{cite:ibid}}%
          {\global\toggletrue{cms@shortnote}%
            \global\toggletrue{cms@fullnote}%
            \usebibmacro{cite:short}%
            \usebibmacro{fullpostnote}%
           \usebibmacro{cite:save}}}%
       {\global\togglefalse{cms@shortnote}%
         \global\togglefalse{cms@fullnote}%
         \usebibmacro{cite:shorthand}%
        \usebibmacro{cite:init}}}%
    {\iftoggle{cms@allshort}%
      {\global\toggletrue{cms@shortnote}%
        \usebibmacro{cite:short}%
        \usebibmacro{fullpostnote}%
        \usebibmacro{cite:save}}%
      {\global\toggletrue{cms@fullnote}%
        \usebibmacro{cite:crossfull}%
        \usebibmacro{cite:save}}}}%

\newbibmacro*{cite:full}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}\frenchspacing}
      {cite:\thefield{entrytype}}%
   \iffieldundef{shorthand}
     {}
     {\addperiod\space
      \bibstring{citedas}\space
      \printfield{shorthand}}}}

\newbibmacro*{cite:crossfull}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}\frenchspacing}
      {cite:crossfull}%
   \iffieldundef{shorthand}
     {}
     {\addperiod\space
      \bibstring{citedas}\space
      \printfield{shorthand}}}}

\newbibmacro*{cite:short}{%
  \ifthenelse{\ifnameundef{labelname}\OR
    \iffieldequalstr{entrytype}{inreference}\OR
    \iffieldequalstr{entrytype}{reference}}%
    {}%
    {\iffieldequalstr{authortype}{anon}%
      {\bibleftbracket\printnames{labelname}%
        \bibrightbracket\classicpunct}%
      {\iffieldequalstr{authortype}{anon?}%
        {\bibleftbracket\printnames{labelname}?%
          \bibrightbracket\classicpunct}%
        {\printnames{labelname}%
          \isdot\classicpunct}}}%
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}}}%:\thefield{entrytype}?

\newbibmacro*{cite:shorthand}{%
  \printtext[bibhyperlink]{%
    \printfield{shorthand}}}

\newbibmacro*{cite:ibid}{%
  \iftoggle{cms@noibid}
  {\global\toggletrue{cms@shortnote}%
    \global\togglefalse{cms@fullnote}%
    \usebibmacro{cite:short}%
    \usebibmacro{cite:save}}%
  {\printtext[bibhyperlink]{%
      \bibstring[\mkibid]{ibidem}}}}

%%%% Citation Commands, internal and external %%%%

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\xrefcite}
  {}%\usebibmacro{clearalmostall}} (?)
  {\usebibmacro{citeindex}%
    \usebibmacro{in:}%
    \usebibmacro{crosscite}}
  {}
  {}%\usebibmacro{xrefpostnote}}

\DeclareCiteCommand{\bibxrefcite}
  {}%\usebibmacro{clearalmostall}} (?)
  {\usebibmacro{in:}%
    \toggletrue{cms@shortnote}%
    \togglefalse{cms@fullnote}%
   \usebibmacro{cite:short}}
  {}
  {}

\DeclareCiteCommand*{\cite}
  {\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
    \blx@ibidreset
    \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\parencite}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\footcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}%\bibsentence
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}%\bibsentence
  {\usebibmacro{citeindex}%
    \toggletrue{cms@fullnote}%
    \togglefalse{cms@shortnote}%
   \usebibmacro{cite:full}%
   \usebibmacro{cite:save}}
  {\multicitedelim}
  {}

\DeclareCiteCommand{\fullcite}
  {\usebibmacro{prenote}}%\bibsentence
  {\usebibmacro{citeindex}%
    \toggletrue{cms@fullnote}%
    \togglefalse{cms@shortnote}%
   \usebibmacro{cite:full}
   \usebibmacro{cite:save}}
  {\multicitedelim}
  {}

\DeclareCiteCommand{\origfullcite}
  {\nopunct\unspace}% Put \nopunct and \unspace here for 0.8e.
  {\usedriver
    {\DeclareNameAlias{sortname}{default}\clearfield{postnote}
      \clearname{author}\clearfield{userf}\toggletrue{cms@fullnote}%
      \toggletrue{cms@headlessnote}\frenchspacing}%
    {cite:\thefield{entrytype}}}%
  {\multicitedelim}%
  {}

\DeclareCiteCommand{\headlessfullcite}
  {\usebibmacro{hlprenote}}%
  {\usedriver
     {\DeclareNameAlias{sortname}{default}\clearname{author}%
       \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}%
       \usebibmacro{cite:save}}%
     {cite:\thefield{entrytype}}}%
  {\multicitedelim}%
  {}%\usebibmacro{finentry}}

\DeclareCiteCommand{\headlesscite}
  {\usebibmacro{hlcprenote}}
  {\usebibmacro{citeindex}%
    \toggletrue{cms@headlessnote}%
    \clearname{author}%
    \clearname{shortauthor}%
    \clearname{labelname}%
    \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\shortcite}
  {\usebibmacro{prenote}}
  {\toggletrue{cms@shortnote}%
    \togglefalse{cms@fullnote}%
    \usebibmacro{citeindex}%
    \usebibmacro{cite:short}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\citetitles}{citetitle}{\multicitedelim}

% \newrobustcmd*{\Citetitle}{\bibsentence\citetitle} Replaced with the
% following for compatibility with biblatex 0.8c, 0.8d, and 0.8e:

\@ifpackagelater{biblatex}{2009/01/11}
  {}
  {\newrobustcmd*{\Citetitle}{\bibsentence\citetitle}}

%%%% Drivers for the Long Note Format %%%%

\DeclareBibliographyDriver{cite:article}{%
  \iffieldequalstr{entrysubtype}{magazine}%
  {\usebibmacro{bibindex}%
  \usebibmacro{cmag+news+author}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{cmag+news+title}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%\newblock%
  \usebibmacro{issuetitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cbyeditor+others}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{mag+news+date}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{issn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
  {\usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{cmag+news+title}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{issuetitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cbyeditor+others}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cjournal+issue+year+pages}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{issn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}}

\DeclareBibliographyDriver{cite:artwork}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit\newblock
  \usebibmacro{letter+date}%
  \newcunit
  \usebibmacro{byauthor}%
  \newcunit\newblock
  \usebibmacro{cbyeditor+others}%
  \newcunit\newblock
  \printfield{howpublished}%
  \newcunit\newblock
  \printfield{type}%
  \newcunit\newblock
  \printfield{version}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{institution+organization}%
  \newcunit\newblock
  \printlist{location}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit
  \iffieldundef{maintitle}%
  {\ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
    {}%
    {\usebibmacro{edition}%
      \newcunit
      \printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}%
      \newcunit
      \printfield{volumes}%
      \clearfield{volumes}}%
    {}}%
  {}%
  \newcunit
  \usebibmacro{byauthor}%
  \newcunit
  \usebibmacro{cpart+editor+translator}%
  \newcunit
  \usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
  \newcunit\newblock
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{cbyeditor+others}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printlist[][-\value{listtotal}]{lista}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:booklet}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit\newblock
  \usebibmacro{byauthor}%
  \newcunit
  \printfield{note}%
  \setunit{\addspace}\newblock%
  \printtext[parens]{%
  \usebibmacro{howpubl+loc+year}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:collection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit
  \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
  \newcunit\newblock
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{cbytranslator+others}%
  \newcunit\newblock
%  \printfield{edition}%
%  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:crossfull}{%
  \usebibmacro{crefmtitle+mstitle+vol+part+title+stitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \usebibmacro{cbyeditor+others}%
  \newcunit\newblock
%  \printfield{edition}%
%  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}}%
%  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:customa}{%
  \usebibmacro{bibindex}%
  \printtext[title]{%
    \printfield[noformat]{title}}%
  \newcunit\newblock%
  \printfield{titleaddon}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{letter+date}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \newcunit\newblock%
  \usebibmacro{cpart+editor+translator}%
  \setunit*{\addcomma\addspace}%
%  \usebibmacro{chapincoll}%
  \iffieldundef{crossref}%
  {\iffieldundef{xref}%
  {\usebibmacro{in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
%  \printlist{language}%
%  \newcunit\newblock
  \usebibmacro{cbyeditor+others}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubletter+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}%
{\xrefcite{\thefield{xref}}%
  \usebibmacro{xrefpostnote}%
  \usebibmacro{finentry}}}%
{\xrefcite{\thefield{crossref}}%
  \usebibmacro{xrefpostnote}%
  \usebibmacro{finentry}}}

\DeclareBibliographyDriver{cite:customb}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit\newblock
  \usebibmacro{byauthor}%
  \newcunit
  \usebibmacro{cpart+editor+translator}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \usebibmacro{cbyeditor+others}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:customc}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{inforaft}%
  \setunit{\addspace}\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit
  \iffieldundef{maintitle}%
  {\ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
    {}%
    {\usebibmacro{edition}%
      \newcunit
      \printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}%
      \newcunit
      \printfield{volumes}%
      \clearfield{volumes}}%
    {}}%
  {}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \newcunit\newblock
  \usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{cbyeditor}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:image}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}\newblock%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{letter+date}%
  \newcunit
  \usebibmacro{byauthor}%
  \newcunit\newblock
  \usebibmacro{cbyeditor+others}%
  \newcunit\newblock
  \printfield{howpublished}%
  \newcunit\newblock
  \printfield{type}%
  \newcunit\newblock
  \printfield{version}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{institution+organization}%
  \newcunit\newblock
  \printlist{location}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:inbook}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}\newblock%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cpart+editor+translator}%
  \setunit{\addcomma\addspace}%
%  \usebibmacro{chapincoll}%
  \usebibmacro{in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \usebibmacro{cbyeditor+others}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}\newblock%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cpart+editor+translator}%
  \setunit{\addcomma\addspace}%
%  \usebibmacro{chapincoll}%
  \iffieldundef{crossref}%
  {\iffieldundef{xref}
  {\usebibmacro{in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \usebibmacro{cbyeditor+others}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
{\xrefcite{\thefield{xref}}%
  \usebibmacro{xrefpostnote}%
  \usebibmacro{finentry}}}%
{\xrefcite{\thefield{crossref}}%
  \usebibmacro{xrefpostnote}%
  \usebibmacro{finentry}}}

\DeclareBibliographyDriver{cite:inproceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}\newblock%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cpart+editor+translator}%
  \setunit{\addcomma\addspace}%
  \iffieldundef{crossref}%
  {\iffieldundef{xref}
  {\usebibmacro{in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \setunit{\addspace}\newblock%
  \printtext[parens]{%
  \usebibmacro{org+publ+loc+year}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
{\xrefcite{\thefield{xref}}%
  \usebibmacro{xrefpostnote}%
  \usebibmacro{finentry}}}%
{\xrefcite{\thefield{crossref}}%
  \usebibmacro{xrefpostnote}%
  \usebibmacro{finentry}}}

\DeclareBibliographyDriver{cite:inreference}{%
  \usebibmacro{bibindex}%
  \usebibmacro{citaltitle+stitle}%
  \newcunit\newblock
  \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
  {\ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
    {}%
    {\usebibmacro{edition}%
      \newcunit
      \printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}%
      \newcunit
      \printfield{volumes}%
      \clearfield{volumes}}%
    {}}%
  {}%
  \newcunit
  \usebibmacro{cpart+editor+translator}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{alt-in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \usebibmacro{cbyeditor+others}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{inreffullpostnote}%
%  \newcunit\newblock
%  \printlist[][-\value{listtotal}]{lista}%
  \setunit{\addspace}%
  \ifnameundef{author}%
  {}%
  {\printtext[parens]{%
      \bibstring{by}%
      \printnames{author}}}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyAlias{cite:letter}{cite:customa}

\DeclareBibliographyDriver{cite:manual}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author+org}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock%
  \usebibmacro{citaltitle+stitle}%
  \newcunit
  \usebibmacro{edition}%
  \newcunit
  \usebibmacro{byauthor}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{type}%
  \newcunit
  \printfield{note}%
  \setunit{\addspace}\newblock%
  \printtext[parens]{%
  \usebibmacro{org+publ+loc+year}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:misc}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \iffieldundef{entrysubtype}%
  {\usebibmacro{citaltitle+stitle}}%
  {\printfield{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}%
    \newcunit\newblock%
    \printfield{titleaddon}%
    \setunit{\addspace}%
    \usebibmacro{language+transtitle}}%
%    \newcunit\newblock}
  \iffieldequalstr{entrysubtype}{letter}%
  {\newcunit\newblock
    \usebibmacro{letter+date}}%
  {}%
  \newcunit
  \usebibmacro{byauthor}%
  \newcunit\newblock
  \usebibmacro{cbyeditor+others}%
  \newcunit\newblock
  \printfield{howpublished}%
  \newcunit\newblock
  \printfield{type}%
  \newcunit\newblock
  \printfield{version}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{institution+organization}%
  \newcunit\newblock
  \printlist{location}%
  \iffieldequalstr{entrysubtype}{letter}%
  {}%
  {\newcunit\newblock
    \usebibmacro{date}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addcomma\addspace}%
  \printlist{organization}%
  \setunit{\addcomma\addspace}
  \usebibmacro{date}%
  \setunit{\addcomma\addspace}%
  \printfield{doi}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{url+date}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:patent}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author+holder}% +holder?
  \newcunit\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}\newblock%
  \printfield{note}%
  \setunit{\addspace}%
  \printtext[parens]{%
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \iflistundef{location}
    {}
    {\setunit*{\addspace}%
     \printtext[parens]{%
       \printlist[][-\value{listtotal}]{location}}}%
  \newcunit\newblock
  \printfield{version}%
  \setunit{\addcomma\addspace filed\addspace}%
  \usebibmacro{date}%
  \newcunit\newblock
  \printfield{addendum}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:periodical}{%
  \iffieldequalstr{entrysubtype}{magazine}%
  {\usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{issuetitle}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%\newblock%
  \usebibmacro{cbyeditor+others}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{periodical+date+issue}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{issn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}%
  {\usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
  \usebibmacro{issuetitle}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cbyeditor+others}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cperiodical+issue+year+pages}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{issn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}}

\DeclareBibliographyDriver{cite:proceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock%
  \usebibmacro{citaltitle+stitle}%
  \newcunit
  \usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
  \newcunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \setunit{\addspace}\newblock%
  \printtext[parens]{%
  \usebibmacro{org+publ+loc+year}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:reference}{%
  \usebibmacro{bibindex}%
  \usebibmacro{citaltitle+stitle}%
  \newcunit\newblock
  \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
  {\ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
    {}%
    {\usebibmacro{edition}%
      \newcunit
      \printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}%
      \newcunit
      \printfield{volumes}%
      \clearfield{volumes}}%
    {}}%
  {}%
  \newcunit
  \usebibmacro{cpart+editor+translator}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{alt-in:}%
  \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
  \newcunit
  \ifthenelse{\iffieldundef{edition}\AND\iffieldundef{userd}}%
  {}%
  {\usebibmacro{edition}%
    \newcunit
    \iffieldundef{maintitle}
    {\printfield{volume}%
      \printfield{part}%
      \clearfield{volume}%
      \clearfield{part}}%
    {}%
    \newcunit
    \printfield{volumes}
    \clearfield{volumes}}%
  \newcunit
  \usebibmacro{bybookauthor}%
  \usebibmacro{cbyeditor+others}%
%  \newcunit\newblock
%  \printfield{edition}%
  \newcunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newcunit
  \printfield{volumes}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{note}%
  \newcunit\newblock
  \usebibmacro{cpubl+loc+year}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isbn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:report}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{citaltitle+stitle}%
  \newcunit
  \usebibmacro{byauthor}%
  \newcunit\newblock
  \usebibmacro{ser+num}%
  \newcunit\newblock
  \printfield{type}%
  \newcunit
  \printfield{note}%
  \setunit{\addspace}\newblock%
  \printtext[parens]{%
  \usebibmacro{inst+loc+year}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{isrn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:review}{%
  \usebibmacro{bibindex}%
  \iffieldequalstr{entrysubtype}{magazine}
  {\usebibmacro{cmag+news+author}}%
  {\usebibmacro{author/editor}}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newcunit\newblock
%  \usebibmacro{mag+news+title}% Changed to enable \MakeCapital
  \printfield{title}%
  \setunit{\addcolon\addspace}%
  \printfield[noformat]{subtitle}%
  \newcunit\newblock
  \printfield{titleaddon}%
%  \newcunit\newblock
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%\newblock%
  \usebibmacro{issuetitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{cbyeditor+others}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addcomma\addspace}%
  \iffieldequalstr{entrysubtype}{magazine}
  {\usebibmacro{mag+news+date}}%
  {\usebibmacro{cjournal+issue+year+pages}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{issn}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyAlias{cite:suppbook}{cite:customc}

\DeclareBibliographyAlias{cite:suppcollection}{cite:customc}

\DeclareBibliographyAlias{cite:suppperiodical}{cite:review}

\DeclareBibliographyDriver{cite:thesis}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}\newblock%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addcomma\addspace}%
  \printfield{note}%
  \setunit{\addspace}%
  \printtext[parens]{%
  \usebibmacro{type+inst+year}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \printfield{doi}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{cite:unpublished}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{ctitle+stitle}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \setunit{\addcomma\addspace}%
  \usebibmacro{byauthor}%
  \setunit{\addspace}\newblock%
  \printtext[parens]{%
    \printfield{howpublished}%
    \newcunit\newblock
    \printfield{note}%
    \newcunit\newblock
    \printlist{location}%
    \newcunit\newblock
    \usebibmacro{date}}%
  \usebibmacro{fullpostnote}%
  \newcunit\newblock
  \printfield{addendum}%
  \newcunit\newblock
  \usebibmacro{url+date}%
  \newcunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

%%%% List Formats %%%%

\DeclareListFormat{language}{%
  \ifthenelse{\value{listcount}=1}%
  {\bibleftbracket\bibstring{in}\addspace%
    \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}%
  {}%
  {\mkbibquote{#1\isdot}}}

\DeclareFieldFormat[article]{citetitle}{%
  \iffieldundef{title}%
  {#1\isdot}%
  {\mkbibquote{#1\isdot}}}

\DeclareFieldFormat[article]{lostitle}{%
  \iffieldundef{title}%
  {#1\isdot}%
  {\mkbibquote{#1\isdot}}}

\DeclareFieldFormat[artwork]{title}{%
  \iffieldundef{entrysubtype}%
  {\mkbibemph{#1}\isdot}%
  {#1\isdot}}

\DeclareFieldFormat[artwork]{citetitle}{%
  \iffieldundef{entrysubtype}%
  {\mkbibemph{#1}\isdot}%
  {#1\isdot}}

\DeclareFieldFormat[artwork]{lostitle}{%
  \iffieldundef{entrysubtype}%
  {\mkbibemph{#1}\isdot}%
  {#1\isdot}}

\DeclareFieldFormat[book]{title}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[book]{citetitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[book]{lostitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[periodical]{title}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[periodical]{citetitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[periodical]{lostitle}{\mkbibemph{#1}\isdot}

\DeclareFieldAlias[image]{title}[article]{title}

\DeclareFieldAlias[image]{citetitle}[article]{citetitle}

\DeclareFieldAlias[image]{lostitle}[article]{lostitle}

\DeclareFieldAlias[incollection]{title}[article]{title}

\DeclareFieldAlias[incollection]{citetitle}[article]{citetitle}

\DeclareFieldAlias[incollection]{lostitle}[article]{lostitle}

\DeclareFieldFormat[customa]{title}{#1\isdot}

\DeclareFieldFormat[customa]{citetitle}{#1\isdot}

\DeclareFieldFormat[customa]{lostitle}{#1\isdot}

\DeclareFieldAlias[letter]{title}[customa]{title}

\DeclareFieldAlias[letter]{citetitle}[customa]{citetitle}

\DeclareFieldAlias[letter]{lostitle}[customa]{lostitle}

\DeclareFieldAlias[inproceedings]{title}[article]{title}

\DeclareFieldAlias[inproceedings]{citetitle}[article]{citetitle}

\DeclareFieldAlias[inproceedings]{lostitle}[article]{lostitle}

\DeclareFieldAlias[thesis]{title}[article]{title}

\DeclareFieldAlias[thesis]{citetitle}[article]{citetitle}

\DeclareFieldAlias[thesis]{lostitle}[article]{lostitle}

\DeclareFieldAlias[patent]{title}[article]{title}

\DeclareFieldAlias[patent]{citetitle}[article]{citetitle}

\DeclareFieldAlias[patent]{lostitle}[article]{lostitle}

\DeclareFieldAlias[unpublished]{title}[article]{title}

\DeclareFieldAlias[unpublished]{citetitle}[article]{citetitle}

\DeclareFieldAlias[unpublished]{lostitle}[article]{lostitle}

\DeclareFieldFormat{postnote}{%
  \iffieldundef{pagination}%
  {#1\isdot}%
  {\mkpageprefix[pagination]{#1\isdot}}}

\DeclareFieldFormat[inreference]{postnote}{%
  \iffieldundef{pagination}%
    {s\adddot v\adddot\addspace\mkbibquote{#1\isdot}}
    {\mkpageprefix[pagination]{#1\isdot}}}

\DeclareFieldFormat{pages}{%
  \iffieldundef{bookpagination}%
  {#1\isdot}%
  {\mkpageprefix[bookpagination]{#1\isdot}}}

\DeclareFieldFormat{bibnote}{\MakeCapital{#1}}

\DeclareFieldAlias[inbook]{title}[article]{title}

\DeclareFieldAlias[inbook]{citetitle}[article]{citetitle}

\DeclareFieldAlias[inbook]{lostitle}[article]{lostitle}

\DeclareFieldFormat[customc]{title}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[customc]{citetitle}{%
  \usebibmacro{inforaft}%
  \addspace%
  \mkbibemph{#1}\isdot}

\DeclareFieldFormat[customc]{lostitle}{%
  \usebibmacro{inforaft}%
  \addspace%
  \mkbibemph{#1}\isdot}

\DeclareFieldAlias[suppbook]{title}[customc]{title}

\DeclareFieldAlias[suppbook]{citetitle}[customc]{citetitle}

\DeclareFieldAlias[suppbook]{lostitle}[customc]{lostitle}

\DeclareFieldAlias[suppcollection]{title}[customc]{title}

\DeclareFieldAlias[suppcollection]{citetitle}[customc]{citetitle}

\DeclareFieldAlias[suppcollection]{lostitle}[customc]{lostitle}

\DeclareFieldFormat[booklet]{title}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[booklet]{citetitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[booklet]{lostitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[manual]{title}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[manual]{citetitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[manual]{lostitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[report]{title}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[report]{citetitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[report]{lostitle}{\mkbibemph{#1}\isdot}

\DeclareFieldFormat[misc]{title}{%
  \iffieldundef{entrysubtype}%
  {\mkbibemph{#1}\isdot}%
  {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}

\DeclareFieldFormat[misc]{citetitle}{%
  \iffieldundef{entrysubtype}%
  {\mkbibemph{#1}\isdot}%
  {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}

\DeclareFieldFormat[misc]{lostitle}{%
  \iffieldundef{entrysubtype}%
  {\mkbibemph{#1}\isdot}%
  {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}

\DeclareFieldFormat[review]{title}{%
  \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}

\DeclareFieldFormat[review]{citetitle}{%
  \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}

\DeclareFieldFormat[review]{lostitle}{%
  \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}

\DeclareFieldAlias[suppperiodical]{title}[review]{title}

\DeclareFieldAlias[suppperiodical]{citetitle}[review]{citetitle}

\DeclareFieldAlias[suppperiodical]{lostitle}[review]{lostitle}

\DeclareFieldAlias[online]{title}[article]{title}

\DeclareFieldAlias[online]{citetitle}[article]{citetitle}

\DeclareFieldAlias[online]{lostitle}[article]{lostitle}

%%%% Other Field Formats %%%%

\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}}

\DeclareFieldFormat{note}{%
  \ifcapital{\MakeCapital{#1}}{#1}}%

\DeclareFieldFormat[customc]{type}{%
  \ifbibstring{#1}%
  {\bibstring{#1}}%
  {\ifcapital%
    {\MakeCapital{#1}}%
    {#1}}}

\DeclareFieldFormat[artwork]{type}{%
  \ifcapital%
  {\MakeCapital{#1}}%
  {#1}}

\DeclareFieldAlias[image]{type}[artwork]{type}

\DeclareFieldAlias[suppbook]{type}[customc]{type}

\DeclareFieldAlias[suppcollection]{type}[customc]{type}

\DeclareFieldFormat{url}{\url{#1}}

\DeclareFieldFormat{doi}{%
  \textrm{doi}\addcolon
  \ifhyperref
    {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}

\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?!

\DeclareFieldFormat{edition}{% New in 0.8
  \ifinteger{#1}
  {\mkbibordinal{#1}~\bibstring{edition}}%
  {\ifcapital
    {\MakeCapital{#1\isdot}}%
    {#1\isdot}}}

\DeclareFieldFormat{year}{% To cope with abbreviation n.d.
  \iftoggle{cms@fullnote}%
  {#1\bibsentence}%
  {#1\isdot}}% (?)

\DeclareFieldFormat[misc]{year}{#1\isdot}

\DeclareFieldFormat[article]{year}{% To cope with abbreviation n.d.
  \iffieldequalstr{entrysubtype}{magazine}%
  {#1\isdot}
  {#1\bibsentence}}

\DeclareFieldAlias[review]{year}[article]{year}

\DeclareFieldAlias[periodical]{year}[article]{year}

\DeclareFieldAlias[suppperiodical]{year}[article]{year}

\DeclareFieldFormat{userd}{% Now Deprecated
  \ifcapital{\MakeCapital{#1}}{#1}}

\DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets?

\DeclareFieldFormat{titleaddon}{%
  \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc?

\DeclareFieldAlias{booktitleaddon}{titleaddon}

\DeclareFieldAlias{maintitleaddon}{titleaddon}

\DeclareFieldFormat{issuetitle}{\mkbibquote{#1\isdot}}

\DeclareFieldFormat{jourser}{%
  \ifinteger{#1}%
  {\mkbibordinal{#1}%
    \addnbspace%
    \bibstring{jourser}}%
  {\ifbibstring{#1}{\bibstring{#1}}{#1}}}

\DeclareFieldFormat{sernum}{%
  \ifnumeral{#1}%
  {\addnbspace #1}%
  {\addcomma\addspace #1}}

\DeclareFieldFormat{addendum}{%
  \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}

\DeclareFieldFormat[patent]{addendum}{%
  \iffieldundef{year}%
  {issued\addspace #1}%
  {and issued\addspace #1}}

\DeclareFieldFormat{part}{\addcomma\addspace\bibstring{partvolume}~#1}

\DeclareFieldAlias[review]{volume}[article]{volume}

\DeclareFieldAlias[suppperiodical]{volume}[article]{volume}

%%%% Commands, for users and internal %%%%

\newcommand*{\cbytypeeditor}{%
  \iffieldundef{editortype}
    {\bibstring{cbytypeeditor}}
    {\bibstring{cbytype\thefield{editortype}}}}

\renewcommand*{\multicitedelim}{\addsemicolon\space}

\newcommand{\custpunct}{%
  \iftoggle{cms@fullnote}%
  {\iffieldequalstr{type}{plain}%
    {}
    {\addcomma}}%
  {\iftoggle{cms@shortnote}
    {\iffieldundef{postnote}%
      {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}%
        {}
        {\addperiod}}%
      {\addcomma}}%
    {\addperiod}}}

\newcommand{\custpunctb}{%
  \iftoggle{cms@fullnote}%
  {\iffieldequalstr{userb}{plain}%
    {}
    {\addcomma}}%
  {\iftoggle{cms@shortnote}
    {\iffieldundef{postnote}%
      {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}%
        {}
        {\addperiod}}%
      {\addcomma}}%
    {\addperiod}}}

\newcommand{\custpunctc}{%
  \iftoggle{cms@fullnote}%
  {\iftoggle{cms@forlang}%
    {}
    {\iffieldequalstr{userc}{plain}%
      {}
      {\addcomma}}}%
  {\iftoggle{cms@forlang}%
    {}
    {\ifthenelse{\ifuseauthor\OR\ifnameundef{author}}%
      {\addperiod}%
      {\addcomma}}}}%

\newcommand{\classicpunct}{%
  \ifthenelse{\iffieldequalstr{entrysubtype}{classical}\OR%
    \iffieldequalstr{entrytype}{customa}\OR%
    \iffieldequalstr{entrytype}{letter}}%
  {\setunit*{\addspace}}%
  {\setunit*{\addcomma\addspace}}}

\newcommand{\encypunct}{% for named entries in an encyclopedia
  \iftoggle{cms@fullnote}%
  {\iffieldequalstr{entrytype}{book}%
    {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND
        \iffieldundef{isbn}\AND\iffieldundef{url}}%
      {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}%
        {}%
        {\addperiod}}%
      {\addcomma}}%
    {\ifnameundef{author}%
      {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND
          \iffieldundef{isbn}\AND\iffieldundef{url}}%
        {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}%
          {}%
          {\addperiod}}%
        {\addcomma}}%
      {}}}%
  {\iffieldequalstr{entrytype}{book}%
    {\addperiod}%
    {\ifnameundef{author}%
      {\addperiod}%
      {}}}}

\newcommand{\parttrans}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbytranslator}\space}%
  {\bibstring{bytranslator}\space}}

\newcommand{\partedit}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbyeditor}\space}%
  {\bibstring{byeditor}\space}}

\newcommand{\partcomp}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbycompiler}\space}%
  {\bibstring{bycompiler}\space}}

\newcommand{\parteditandcomp}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbyeditorcp}\space}%
  {\bibstring{byeditorcp}\space}}

\newcommand{\parttransandcomp}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbytranslatorcp}\space}%
  {\bibstring{bytranslatorcp}\space}}

\newcommand{\partedittransandcomp}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbyeditortrcp}\space}%
  {\bibstring{byeditortrcp}\space}}

\newcommand{\parteditandtrans}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{cbyeditortr}\space}%
  {\bibstring{byeditortr}\space}}

\newcommand{\reprint}{%
  \iftoggle{cms@fullnote}%
  {\bibstring{creprint}}%
  {\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@shortnote}%
  {\ifthenelse{\iffieldequalstr{entrysubtype}{classical}
      \OR\NOT\iffieldundef{volumes}}%
    {\addspace}%
    {\addcomma\addspace}}%
  {\iftoggle{cms@fullnote}{%
      \ifthenelse{\(\iffieldequalstr{entrytype}{article}\OR
        \iffieldequalstr{entrytype}{review}\OR
        \iffieldequalstr{entrytype}{periodical}\OR
        \iffieldequalstr{entrytype}{suppperiodical}\)\AND\NOT
        \iffieldequalstr{entrysubtype}{magazine}}%
      {\addcolon\addspace}%
      {\addcomma\addspace}}%
    {\addcomma\addspace}}}%

\newcommand*{\lbx@cfromlang}{%
  \iffieldundef{userf}
  {\iffieldundef{origlanguage}
    {\unspace}
    {\bibstring{cfrom\thefield{origlanguage}}}}%
  {\unspace}}

\renewcommand*{\lbx@fromlang}{%
  \iffieldundef{userf}
  {\iffieldundef{origlanguage}
    {\unspace}
    {\bibstring{from\thefield{origlanguage}}}}%
  {\unspace}}

% The following is obsolete because we now use biblatex's \finentry

% \renewcommand*{\finentrypunct}{% Allows `;' to appear between long notes.
%   \ifthenelse{\value{multicitecount} < \value{multicitetotal}\OR
%     \value{citecount} < \value{citetotal}}%
%   {}%
%   {\addperiod}}

%%%% Formatting macros, called both by cbx and bbx %%%%

\newbibmacro*{finentry}{\finentry}

% \newbibmacro*{finentry}{% Obsolete, provided by biblatex now.
%   \unspace\finentrypunct
%   \blx@postpunct
%   \blx@initunit}%

\newbibmacro*{author+holder}{%
  \ifnameundef{author}
    {}
    {\printnames{author}%
     \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}\printnames{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?
  {\newunit\newblock}%
  {\newcunit\newblock}}

\newbibmacro*{edition}{%
  \iffieldundef{userd}%
  {\printfield{edition}%
    \clearfield{edition}}%
  {\printfield{userd}%
    \clearfield{userd}}}

\newbibmacro*{inforaft}{%
  \ifnameundef{introduction}%
  {\ifnameundef{afterword}%
    {\ifnameundef{foreword}%
      {\printfield{type}}%
      {\bibstring{forewordto}}}%
    {\bibstring{afterwordto}}}%
  {\bibstring{introductionto}}}

\newbibmacro*{langlist:andothers}{%
  \ifthenelse{\value{listcount}=\value{liststop}\AND
              \ifmoreitems}
    {\ifnum\value{liststop}>1 \finalandcomma\fi
     \andmoredelim\bibstring{andmore}\bibrightbracket}
    {}}

\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}%
      {}%
      {\printlist{organization}}}%
    {\usebibmacro{editor}}}%
  {\usebibmacro{author/editor}}}

\newbibmacro*{cbyeditor}{%
  \ifnameundef{editor}
    {}
    {\bibstring{cbyeditor}\addspace
     \printnames[byeditor]{editor}}}

\newbibmacro*{cbytranslator}{%
  \ifnameundef{translator}
    {}
    {\iffieldundef{origlanguage}
       {\bibstring{cbytranslator}}
       {\bibstring{from\thefield{origlanguage}}}%
     \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{cwithcommentator}\addspace
     \printnames[withcommentator]{commentator}}}

\newbibmacro*{cwithannotator}{%
  \ifnameundef{annotator}
    {}
    {\bibstring{cwithannotator}\addspace
     \printnames[withannotator]{annotator}}}

\newbibmacro*{cwithintroduction}{%
  \ifnameundef{introduction}
    {}
    {\bibstring{cwithintroduction}\addspace
     \printnames[withintroduction]{introduction}}}

\newbibmacro*{cwithforeword}{%
  \ifnameundef{foreword}
    {}
    {\bibstring{cwithforeword}\addspace
     \printnames[withforeword]{foreword}}}

\newbibmacro*{cwithafterword}{%
  \ifnameundef{afterword}
    {}
    {\bibstring{cwithafterword}\addspace
     \printnames[withafterword]{afterword}}}

\newbibmacro*{cbyeditor+others}{%
  \ifnameundef{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{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*{in:}{%
  \bibstring{in}
  \setunit{\addspace}}

\newbibmacro*{alt-in:}{%
  \iffieldundef{booktitle}%
  {}
  {\bibstring{in}%
    \setunit{\addspace}}}

\newbibmacro*{chapincoll}{%
  \iffieldundef{chapter}%
  {}
  {\printfield{chapter}\addspace}}

\newbibmacro*{ser+num}{%
  \printfield{series}%
  \printfield[sernum]{number}%
  \newunit}

\newbibmacro*{ctitle+stitle}{%
  \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}%
  \setunit{\addcomma\addspace}\newblock%
  \printfield{titleaddon}}%
%  \setunit{\addspace}}%
%  \usebibmacro{language+transtitle}%
%  \setunit*{\addcomma}\newblock}

\newbibmacro*{citaltitle+stitle}{%
  \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}%
  \newcunit\newblock%
  \printfield{titleaddon}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \newcunit\newblock}

\newbibmacro*{title+stitle}{%
  \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}%
  \newunit%\setunit{\addspace}\newblock%
  \printfield{titleaddon}}%
%  \setunit{\addspace}}%
%  \usebibmacro{language+transtitle}%
%  \newunit\newblock}

\newbibmacro*{italtitle+stitle}{%
  \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}%
  \newunit\newblock%
  \printfield{titleaddon}%
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \newunit\newblock}

\newbibmacro*{mag+news+title}{%
  \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
       \printfield[noformat]{title}%
       \setunit{\addcolon\addspace}%
       \printfield[noformat]{subtitle}}%
     \newunit%\setunit{\addcomma\addspace}
     \printfield{titleaddon}%
     }%\newcunit\newblock}

\newbibmacro*{cmag+news+title}{%
  \printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
       \printfield[noformat]{title}%
       \setunit{\addcolon\addspace}%
       \printfield[noformat]{subtitle}}%
     \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{in:}}% periodical entries
    {}%
    \printtext[issuetitle]{%
      \printfield[noformat]{issuetitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{issuesubtitle}}}}

\newbibmacro*{btitle+bstitle}{%
  \iffieldundef{booktitle}
    {}
    {\printtext[booktitle]{%
       \printfield[noformat]{booktitle}%
       \setunit{\addcolon\addspace}%
       \printfield[noformat]{booksubtitle}}%
     \newcunit
     \printfield{booktitleaddon}}}

\newbibmacro*{publ+loc+year}{%
  \printlist{location}%
  \iflistundef{publisher}%
  {\setunit*{\addcomma\addspace}}%
  {\setunit*{\addcolon\addspace}}%
  \printlist{publisher}%
  \setunit*{\addcomma\addspace}%
  \printfield{year}%
}

\newbibmacro*{howpubl+loc+year}{%
  \printlist{location}%
  \iffieldundef{howpublished}%
  {\setunit*{\addcomma\space}}%
  {\setunit*{\addcolon\space}}%
  \printfield{howpublished}%
  \setunit*{\addcomma\space}%
  \printfield{year}%
}

\newbibmacro*{inst+loc+year}{%
  \printlist{location}%
  \iflistundef{institution}%
  {\setunit*{\addcomma\space}}%
  {\setunit*{\addcolon\space}}%
  \printlist{institution}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
}

\newbibmacro*{publetter+loc+year}{%
  \printlist{location}%
  \iflistundef{publisher}
  {\setunit*{\addcomma\space}}%
  {\setunit*{\addcolon\space}}
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printfield{origyear}%
}

\newbibmacro*{cpubl+loc+year}{%
  \ifthenelse{\iffieldundef{location}\AND\iffieldundef{publisher}
    \AND\iffieldundef{year}}%
  {}
  {\setunit{\addspace}%
    \printtext[parens]{%
      \printfield{origyear}%
      \setunit*{\addsemicolon\addspace}%
      \printlist{location}%
      \iflistundef{publisher}
      {\setunit*{\addspace}}
      {\setunit*{\addcolon\space}}%
      \printlist{publisher}%
      \setunit{\addcomma\space}%
      \printfield{year}}}}%

\newbibmacro*{cpubletter+loc+year}{%
    \setunit{\addspace}%
    \printtext[parens]{%
    \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addspace}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit{\addcomma\space}%
  \printfield{origyear}}}%

\newbibmacro*{originally+published+as}{% Punctuation fix now in 
  \iffieldundef{userf}%                  \origfullcite for 0.8e. 
  {}
  {\iffieldundef{origlanguage}%
    {\bibstring{origpub}%
      \origfullcite{\thefield{userf}}
      \newunit}%
    {\printfield[bibnote]{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}%
  \printfield{year}}

\newbibmacro*{year+in+parens}{%
  \iffieldundef{volume}%
  {noformat}%
  {parens}}

\newbibmacro*{cjournal+issue+year+pages}{%
  \usebibmacro{cjournal+ser+vol+num}%
  \setunit{\addspace}%
  \printtext[parens]{% parens is the default here
    \iffieldundef{issue}
      {\iffieldundef{month}
         {\printfield{year}}
         {\iffieldundef{day}
            {\printfield{month}%
             \setunit{\addspace}%
             \printfield{year}}
            {\printtext{\bibdate}}}}
      {\printfield{issue}%
       \setunit{\addspace}%
       \printfield{year}}}}

\newbibmacro*{cperiodical+issue+year+pages}{% For periodicals,
  \usebibmacro{cperiodical+ser+vol+num}% subtype article
  \setunit{\addspace}%
  \printtext[parens]{% parens is the default here
    \iffieldundef{issue}
      {\iffieldundef{month}
         {\printfield{year}}
         {\iffieldundef{day}
            {\printfield{month}%
             \setunit{\addspace}%
             \printfield{year}}
            {\printtext{\bibdate}}}}
      {\printfield{issue}%
       \setunit{\addspace}%
       \printfield{year}}}}

\newbibmacro*{letter+date}{%
  \printfield[letterday]{day}%
  \setunit*{\addspace}%
  \printfield{month}%
  \setunit*{\addspace}%
  \printfield{year}}

\newcommand*{\letterdatelong}{%
  \printfield[letterday]{day}%
  \setunit*{\addspace}%
  \printfield{month}%
  \setunit*{\addspace}%
  \printfield{year}}

\newbibmacro*{cjournal+ser+vol+num}{%
  \usebibmacro{journal+sub}%
  \setunit*{\addspace}%
  \printlist[periodplace]{location}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newcunit
      \printfield[jourser]{series}%
      \newcunit}%\setunit*{\addspace}?
  \printfield[jourvol]{volume}%
  \setunit{\addcomma\addspace no\adddot\addspace}% need * here?
  \printfield[journum]{number}%
  \setunit{\addcomma\addspace}%
  \printfield{eid}%
  \newunit}

\newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries,
  \printtext[title]{% article subtype
    \printfield[noformat]{title}%
    \setunit{\addcolon\addspace}%
    \printfield[noformat]{subtitle}}% 
  \setunit*{\addspace}%
  \printlist[periodplace]{location}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newcunit
      \printfield[jourser]{series}%
      \newcunit}%\setunit*{\addspace}?
  \printfield[jourvol]{volume}%
  \setunit{\addcomma\addspace no\adddot\addspace}% need * here?
  \printfield[journum]{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}{%
  \printfield{url}%
  \iffieldundef{urlyear}
    {}
    {\setunit{\addspace}%
     \printtext[urldate]{\biburldate}}}

\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{month}
    {\iffieldundef{number}%
      {\printfield{year}}%
      {\printfield{year}%
        \setunit{\addcomma\addspace no\adddot\addspace}%
        \printfield[journum]{number}}}%
    {\iffieldundef{day}
      {\printfield{month}%
        \setunit{\addspace}%
        \printfield{year}}
      {\printtext{\bibdate}}}}
  {\printfield{issue}%
    \setunit{\addspace}%
    \printfield{year}}}

\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*{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[maintitle]{%
        \printfield[noformat]{maintitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{mainsubtitle}}%
    \newcunit
    \printfield{maintitleaddon}}
  {\printfield{volume}%
    \printfield{part}%
    \setunit{\addspace}
    \bibstring{ofseries}%
    \setunit{\addspace}
    \printtext[maintitle]{%
      \printfield[noformat]{maintitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{mainsubtitle}}%
    \newcunit
    \printfield{maintitleaddon}}}}

\newbibmacro*{crefmtitle+mstitle+vol+part+title+stitle}{%
  \iffieldundef{booktitle}
  {\usebibmacro{citaltitle+stitle}}%
  {\usebibmacro{btitle+bstitle}}%
  \newcunit% need this?
  \iffieldundef{maintitle}
  {}
  {\iffieldundef{volume}
    {\printtext[maintitle]{%
        \printfield[noformat]{maintitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{mainsubtitle}}%
    \newcunit
    \printfield{maintitleaddon}}
  {\printfield{volume}%
    \printfield{part}%
    \setunit{\addspace}
    \bibstring{ofseries}%
    \setunit{\addspace}
    \printtext[maintitle]{%
      \printfield[noformat]{maintitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{mainsubtitle}}%
    \newcunit
    \printfield{maintitleaddon}}}}

\newbibmacro*{cmtitle+mstitle+vol+part+btitle+bstitle}{%
  \usebibmacro{btitle+bstitle}%
  \newcunit
  \iffieldundef{maintitle}
  {}
  {\iffieldundef{volume}
    {\printtext[maintitle]{%
        \printfield[noformat]{maintitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{mainsubtitle}}%
    \newcunit
    \printfield{maintitleaddon}}
  {\printfield{volume}%
    \printfield{part}%
    \setunit{\addspace}
    \bibstring{ofseries}%
    \setunit{\addspace}
    \printtext[maintitle]{%
      \printfield[noformat]{maintitle}%
      \setunit{\addcolon\addspace}%
      \printfield[noformat]{mainsubtitle}}%
    \newcunit
    \printfield{maintitleaddon}}}}

\renewbibmacro*{postnote}{%
  \iftoggle{cms@fullnote}%
  {\global\togglefalse{cms@shortnote}%
    \global\togglefalse{cms@fullnote}}
  {\iftoggle{cms@printshhand}
    {\iffieldundef{postnote}%
      {\iffieldundef{shorthand}
        {\global\togglefalse{cms@printshhand}%
          \global\togglefalse{cms@shortnote}%
          \global\togglefalse{cms@fullnote}}
        {\addperiod\space%
          \bibstring{citedas}\space%
          \printfield{shorthand}%
          \global\togglefalse{cms@printshhand}%
          \global\togglefalse{cms@shortnote}%
          \global\togglefalse{cms@fullnote}}}
      {\iffieldundef{shorthand}
        {\postnotedelim%
          \printfield{postnote}%
          \global\togglefalse{cms@printshhand}%
          \global\togglefalse{cms@shortnote}%
          \global\togglefalse{cms@fullnote}}
        {\postnotedelim%
          \printfield{postnote}%
          \addperiod\space%
          \bibstring{citedas}\space%
          \printfield{shorthand}%
          \global\togglefalse{cms@printshhand}%
          \global\togglefalse{cms@shortnote}%
          \global\togglefalse{cms@fullnote}}}}
    {\iffieldundef{postnote}%
      {\global\togglefalse{cms@shortnote}%
        \global\togglefalse{cms@fullnote}}
      {\postnotedelim%
        \printfield{postnote}%
        \global\togglefalse{cms@shortnote}%
        \global\togglefalse{cms@fullnote}}}}}%

% \renewbibmacro*{postnote}{% The original postnote macro, in case we
%   \iftoggle{cms@fullnote}%  need to return to it quickly.
%   {\global\togglefalse{cms@shortnote}%
%     \global\togglefalse{cms@fullnote}}
%   {\iffieldundef{postnote}%
%     {\global\togglefalse{cms@shortnote}%
%       \global\togglefalse{cms@fullnote}}
%     {\postnotedelim%
%       \printfield{postnote}%
%       \global\togglefalse{cms@shortnote}%
%       \global\togglefalse{cms@fullnote}}}}%

\newbibmacro*{fullpostnote}{%
  \iffieldundef{postnote}%
  {\iffieldundef{chapter}%
    {\iffieldundef{pages}%
      {}%
      {\postnotedelim%
        \printfield{pages}}}%
    {\postnotedelim%
      \printfield{chapter}}}%
  {\postnotedelim%
    \printfield{postnote}}}

\newbibmacro*{inreffullpostnote}{%
  \iffieldundef{postnote}%
  {\iffieldundef{chapter}%
    {\iffieldundef{pages}%
      {\addcomma\addspace%
        \printlist[][-\value{listtotal}]{lista}}%
      {\postnotedelim%
        \printfield{pages}}}%
    {\postnotedelim%
      \printfield{chapter}}}%
  {\postnotedelim%
    \printfield{postnote}}}

\newbibmacro*{xrefpostnote}{% Only for crossrefed (or xrefed) InCollection,
  \iffieldundef{postnote}%    InProceedings, or CustomA entries
  {\iffieldundef{chapter}%
    {\iffieldundef{pages}%
      {}%
      {\addcomma\addspace%
        \printfield{pages}}}%
    {\addcomma\addspace%
      \printfield{chapter}}}%
  {}}% The postnote field already shows up because of the fullpostnote
     % call.

\newbibmacro*{hlprenote}{% Removes spurious comma after prenote in
  \iffieldundef{prenote}%  \headlessfullnote citations.
    {}
    {\printfield{prenote}%
     \nopunct}}% Do we need \unspace here?

\newbibmacro*{hlcprenote}{% As previous, but for generalized \headlesscite
  \iffieldundef{prenote}% command, rather than \headlessfullcite.
    {\bibsentence}% Needed for Ibid to be capitalized.
    {\printfield{prenote}%
      \ifciteseen{\addspace}{\nopunct}}}% Do we need \unspace here?

\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*{cpart+editor+translator}{%
  \ifnameundef{namea}%
  {\ifnameundef{nameb}%
    {}
    {\bibstring{cbytranslator}\space%
    \printnames[bytranslator]{nameb}}}%
{\ifnamesequal{namea}{nameb}%
  {\bibstring{cbyeditortr}\space%
    \printnames[byeditor]{namea}}%
  {\bibstring{cbyeditor}\space% Need this \space here?
    \printnames[byeditor]{namea}%
    \ifnameundef{nameb}%
    {}
    {\newcunit
      \bibstring{cbytranslator}\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}}%
      {\bibstring{translators}}}%
    {\ifnamesequal{translator}{namec}%
      {\bibstring{transcompiler}}%
      {\bibstring{translator}}}
    \clearname{translator}}

\newbibmacro*{parttransstrg}{%
  \ifthenelse{\value{nameb}>1\OR\ifandothers{nameb}}
    {\ifnamesequal{nameb}{namec}%
      {\bibstring{transcompilers}}%
      {\bibstring{translators}}}%
    {\ifnamesequal{nameb}{namec}%
      {\bibstring{transcompiler}}%
      {\bibstring{translator}}}
    \clearname{nameb}}

\newbibmacro*{editstrg}{%
  \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}}}}}%
    \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}}


\endinput
