% historische-zeitschrift.bbx, Dominik Wa��enhoven 2014-2016
%
\ProvidesFile{historische-zeitschrift.bbx}[2016/12/01 v1.2 HZ bibliography style]

\@ifpackagelater{biblatex}{2016/03/01}
  {}
  {\PackageError{biblatex}
    {Outdated 'biblatex' package}
    {The version of the 'historische-zeitschrift' style\MessageBreak
     you are using requires biblatex v3.3 or later.\MessageBreak
     You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
     This is a fatal error. I'm aborting now.}%
    \endinput}

\ExecuteBibliographyOptions{pagetracker}

\DeclareBibliographyOption{dashed}[true]{%
  \ifstrequal{#1}{true}
    {\renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}}
    {\renewbibmacro*{bbx:savehash}{}}}

\newtoggle{bbx:url}
\newtoggle{bbx:doi}
\newtoggle{bbx:eprint}

\DeclareBibliographyOption{url}[true]{%
  \settoggle{bbx:url}{#1}}
\DeclareBibliographyOption{doi}[true]{%
  \settoggle{bbx:doi}{#1}}
\DeclareBibliographyOption{eprint}[true]{%
  \settoggle{bbx:eprint}{#1}}

\ExecuteBibliographyOptions{
  url=true,
  doi=false,
  eprint=false
}

\newbibmacro*{bbx:savehash}{%
  \savefield{fullhash}{\bbx@lasthash}}

\newbibmacro*{bbx:dashcheck}[2]{%
  \ifboolexpr{
    test {\iffieldequals{fullhash}{\bbx@lasthash}}
    and
    not test \iffirstonpage
  }
    {#1}
    {#2}}

%%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Reformatting      %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% 
\renewcommand*{\mkbibnamegiven}[1]{\textit{#1}}
\renewcommand*{\mkbibnamefamily}[1]{\textit{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\textit{#1}}
\renewcommand*{\mkbibnamesuffix}[1]{\textit{#1}}

\DeclareFieldFormat{booktitle}{#1\isdot}
\DeclareFieldFormat{journaltitle}{#1\isdot}
\DeclareFieldFormat{issuetitle}{#1\isdot}
\DeclareFieldFormat{maintitle}{#1\isdot}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{title}{#1\isdot}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[inbook]{title}{#1}
\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[inproceedings]{title}{#1}
\DeclareFieldFormat[patent]{title}{#1}
\DeclareFieldFormat[thesis]{title}{#1}
\DeclareFieldFormat[unpublished]{title}{#1}

\renewcommand*{\labelnamepunct}{\addcomma\space}% comma after names
\renewcommand*{\multinamedelim}{\addslash}			% slash between names
\renewcommand*{\finalnamedelim}{\addslash}			% slash between names

\renewcommand*{\multilistdelim}{\addslash}			% slash between locations
\renewcommand*{\finallistdelim}{\addslash}      % slash between locations

%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Series in parentheses   %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
\newbibmacro*{series+number}{%
 \iffieldundef{series}%
   {}
   {\printtext[parens]{%
    \printfield{series}%
    \iffieldundef{number}
      {}  
      {\setunit{\addcomma\space}%
       \bibstring{volume}~\printfield{number}}%
    \adddot}}}

%%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Publisher omitted %%%%%
%%%%% %%%%% %%%%% %%%%% %%%%% 
\newbibmacro*{publisher+location+year}{%
  \printlist{location}%
  \setunit*{\addspace}%
  \printfield{year}%
  \newunit}

%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Bibliography strings    %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
\DeclareLanguageMapping{german}{historische-zeitschrift}

\renewbibmacro*{editorstrg}{%
  \ifthenelse{\value{editor}>1\OR\ifandothers{editor}}
    {\printtext{\mkbibparens{\bibstring{editors}}}}
    {\printtext{\mkbibparens{\bibstring{editor}}}}}

\renewbibmacro*{editor}{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
        \setunit{\addspace}% <- ORIGINAL: \addcomma\space
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}
    {\global\undef\bbx@lasthash}}

%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Editor in @incollection and   %%%%% 
%%%%% @inproceedings not in italics %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
\newbibmacro*{editorincoll}{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifthenelse{\iffieldequals{author}{editor}\AND
                 \NOT\iffirstonpage}
       {\bibnamedash}
       {\printnames[upshape]{editor}\addspace
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}
    {\global\undef\bbx@lasthash}}

\DeclareNameFormat{upshape}{%
  \nameparts{#1}%
  \usebibmacro{name:given-family-upshape}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}%
  \usebibmacro{name:andothers}}

\newbibmacro*{name:given-family-upshape}[4]{%
  \usebibmacro{name:delim}{#2#3#1}%
  \ifblank{#2}{}{#2\isdot\addlowpenspace}%
  \ifblank{#3}{}{%
    #3\isdot
    \ifpunctmark{'}
      {}
      {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}%
  #1\isdot
  \ifblank{#4}{}{\addlowpenspace#4\isdot}}

%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%%
%%%%% byauthor and byeditor not in italics      %%%%%
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
\DeclareNameAlias{byauthor}{upshape}
\DeclareNameAlias{byeditor}{upshape}

%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Always first name before last name  %%%%%
%%%%% (also in the bibliography)          %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
% \DeclareNameFormat{sortname}{%
%   \ifnum\value{listcount}=1\relax
%     \usebibmacro{name:given-family}{#1}{#3}{#5}{#7}% ORIG: name:last-first
%     \ifblank{#3#5}
%       {}
%       {\usebibmacro{name:revsdelim}}%
%   \else
%     \usebibmacro{name:given-family}{#1}{#3}{#5}{#7}%
%   \fi
%   \usebibmacro{name:andothers}}
  
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% No parentheses for the year of a journal  %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
\newbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {\iffieldundef{month}
         {\printfield{year}}
         {\iffieldundef{day}
            {\printfield{month}%
             \setunit{\addspace}%
             \printfield{year}}
            {\printdate}}}
      {\printfield{issue}%
       \setunit{\addspace}%
       \printfield{year}}%
  \newunit}

\newbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addcomma\space}%<- ORIGINAL: \setunit{\addspace}
  \usebibmacro{issue+date}%
  \setunit*{\addcomma\space}%<- ORIGINAL: \newunit\newblock
  \usebibmacro{issue}%
  \newunit}
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
  
\DeclareFieldFormat{shorthandwidth}{#1}

\InitializeBibliographyStyle{%
  \global\undef\bbx@lasthash}

\renewbibmacro*{author}{%
  \ifboolexpr{
    test \ifuseauthor
    and
    not test {\ifnameundef{author}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{author}%
	 \usebibmacro{bbx:savehash}}}%
    {\global\undef\bbx@lasthash}}

\newbibmacro*{maintitle+title}{%
  \iffieldsequal{maintitle}{title}
    {\clearfield{maintitle}%
     \clearfield{mainsubtitle}%
     \clearfield{maintitleaddon}}
    {\iffieldundef{maintitle}
       {}
       {\usebibmacro{maintitle}%
	\newunit\newblock
	\iffieldundef{volume}
	  {}
	  {\printfield{volume}%
           \printfield{part}%
           \setunit{\addcolon\space}}}}%
  \usebibmacro{title}%
  \newunit}

\newbibmacro*{maintitle+booktitle}{%
  \iffieldundef{maintitle}
    {}
    {\usebibmacro{maintitle}%
     \newunit\newblock
     \iffieldundef{volume}
       {}
       {\printfield{volume}%
        \printfield{part}%
        \setunit{\addcolon\space}}}%
  \usebibmacro{booktitle}%
  \newunit}

\newbibmacro*{title+issuetitle}{%
  \usebibmacro{periodical}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \newunit\newblock
  \usebibmacro{issue}%
  \newunit}

\newbibmacro*{institution+location+year}{%
  \printlist{location}%
  \iflistundef{institution}
    {\setunit*{\addspace}}
    {\setunit*{\addcolon\space}}%
  \printlist{institution}%
  \setunit*{\addspace}%
  \printfield{year}%
  \newunit}

\newbibmacro*{location+year}{%
  \printlist{location}%
  \setunit*{\addspace}%
  \printfield{year}%
  \newunit}

\newbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \setunit*{\addcomma\space}%
  \printfield{pages}%
  \newunit}

\newbibmacro*{finentry}{\finentry}
  
\newbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}}

%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 
%%%%% Bibliography Driver     %%%%% 
%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% 

\DeclareBibliographyAlias{reference}{collection}
\DeclareBibliographyAlias{inreference}{incollection}
\DeclareBibliographyAlias{review}{article}

\DeclareBibliographyDriver{shorthands}{%
  \usedriver
    {\DeclareNameAlias{sortname}{default}}
    {\thefield{entrytype}}%
  \finentry}

\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \usebibmacro{byauthor}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
%	  \newunit\newblock
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \usebibmacro{journal+issuetitle}%
%	  \newunit\newblock
  \setunit*{\addcomma\space}%
  \printfield{note}%
%	  \newunit\newblock
  \setunit*{\newunitpunct}%
  \printfield{pages}
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \usebibmacro{byauthor}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{edition}%
  \setunit*{\newunitpunct}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}% <��� DW 2014-06-05: hier fehlte ein Kommentarzeichen
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{booklet}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{howpublished}%
  \newunit\newblock
  \printfield{type}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{collection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{edition}%
  \setunit*{\addspace}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{inbook}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{bybookauthor}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{edition}%
  \setunit*{\newunitpunct}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
%  \newunit\newblock
  \setunit*{\addcomma\space}%
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
%  \newunit\newblock
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \usebibmacro{editorincoll}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit
  \printlist{language}%
%  \newunit\newblock
%  \usebibmacro{byeditor+others}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{edition}%
  \setunit*{\newunitpunct}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
%  \newunit\newblock
  \setunit*{\addcomma\space}%
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{inproceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \usebibmacro{editorincoll}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit
  \printfield{venue}%
  \newunit
  \printlist{language}%
%  \newunit\newblock
%  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \printlist{organization}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
%  \newunit\newblock
  \setunit*{\addcomma\space}%
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{manual}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{type}%
  \setunit*{\newunitpunct}%
  \printfield{version}%
  \setunit*{\newunitpunct}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \printlist{organization}%
  \setunit*{\newunitpunct}%
  \printfield{edition}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{misc}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{howpublished}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \printlist{location}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{patent}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author+holder}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \iflistundef{location}
    {}
    {\setunit*{\addspace}%
     \printtext[parens]{%
       \printlist[][-\value{listtotal}]{location}}}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{periodical}{%
  \usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title+issuetitle}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{proceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printfield{venue}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \setunit*{\addspace}%
  \printfield{note}%
  \setunit*{\newunitpunct}%
  \printlist{organization}%
  \setunit*{\newunitpunct}%
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{report}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{institution+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{thesis}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \usebibmacro{institution+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{unpublished}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \printfield{howpublished}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\endinput