% $Id: fiwi.bbx, v1.7 2017/11/21 Simon Spiegel
\ProvidesFile{fiwi.bbx}[v1.7 2017/11/21 film studies bibliography style]

\@ifpackagelater{biblatex}{2017/11/01}
     {}
     {\PackageError{biblatex}
	{Outdated 'biblatex' package}
	{The 'fiwi' style requires biblatex v3.8 or later.\MessageBreak
	 You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
	 This is a fatal error. I'm aborting now.}%
     \endinput}

\RequireBibliographyStyle{standard}
%\RequireBiber[2]

\DeclareStyleSourcemap{
  \maps[datatype=bibtex]{
    \map{
       \step[fieldset=abstract, null]
       \step[fieldset=annote, null]
       \step[fieldset=annotation, null]	
}
    \map{
      \pertype{movie}
      \pertype{misc}
      \pertype{video}
      \step[fieldsource=author, fieldtarget=director, final]
} 
\map{
      \pertype{movie}
      \pertype{misc}
      \pertype{video}
      \step[fieldsource=director]
      \step[fieldset=author, origfieldval]
} 
\map{
      \pertype{movie}
      \pertype{misc}
      \pertype{video}
      \step[fieldsource=editor, fieldtarget=scriptwriter, final]
}
\map{
      \pertype{movie}
      \pertype{misc}
      \pertype{video}
      \step[fieldsource=pagetotal, fieldtarget=duration, final]
}
 \map{
      \pertype{movie}
      \pertype{misc}
      \pertype{video}
      \step[fieldsource=scriptwriter]
      \step[fieldset=editor, origfieldval]
}}}



\defcounter{highnamepenalty}{0}
\defcounter{lownamepenalty}{0}

\renewcommand*{\multinamedelim}{\addslash}%
\renewcommand*{\finalnamedelim}{\addslash}%
%\renewcommand*{\finentrypunct}{\iftoggle{dontprintorig}{}{\addperiod}}


% Diverse Schalter

\providetoggle{bbx:directorreplace}
\togglefalse{bbx:directorreplace}
\providetoggle{bbx:scriptwriter}
\togglefalse{bbx:scriptwriter}
\providetoggle{bbx:actor}
\togglefalse{bbx:actor}
\providetoggle{bbx:volumeinparens}
\togglefalse{bbx:volumeinparens}
\providetoggle{filmruntime}
\providetoggle{citeprefix}
\toggletrue{citeprefix}
\providetoggle{printseriesflag}
\providetoggle{printpublisher}
\providetoggle{printaddress}
\toggletrue{printaddress}
\providetoggle{germfassung}
\providetoggle{intransdecision}
\providetoggle{usera}
\providetoggle{dontprintorig}
\providetoggle{dontprintextrayear}
\togglefalse{dontprintextrayear}
\providetoggle{yearatbeginning}
\togglefalse{yearatbeginning}
\providetoggle{origyearwithyear}
\togglefalse{origyearwithyear}
\providetoggle{origyearbrackets}
\togglefalse{origyearbrackets}
\providetoggle{bbx:origyearafter}
\togglefalse{bbx:origyearafter}
\providetoggle{origyearsuperscript}
\togglefalse{origyearsuperscript}
\providetoggle{partofcitedflag}
\togglefalse{partofcitedflag}
\providetoggle{partofcited}
\togglefalse{partofcited}
\providetoggle{citepages}
\togglefalse{citepages}
\providetoggle{bibpages}
\togglefalse{bibpages}
\providetoggle{isreview}
\togglefalse{isreview}
\providetoggle{ignorearticle}
\toggletrue{ignorearticle}
\providetoggle{ignoreforeword}
\togglefalse{ignoreforeword}
\providetoggle{ignoreforewordcit}
\togglefalse{ignoreforewordcit}
\providetoggle{ignoreafterword}
\togglefalse{ignoreafterword}
\providetoggle{ignoreafterwordcit}
\togglefalse{ignoreafterwordcit}
\providetoggle{ignoreintroduction}
\togglefalse{ignoreintroduction}
\providetoggle{ignoreintroductioncit}
\togglefalse{ignoreintroductioncit}
\providetoggle{ignoreaddendum}
\togglefalse{ignoreaddendum}
\providetoggle{ignoreaddendumcit}
\togglefalse{ignoreaddendumcit}
\providetoggle{markmissingpublisher}
\togglefalse{markmissingpublisher}
\newtoggle{cbx:orgigyearcite}
\newtoggle{cbx:superscriptcite}
\newtoggle{bbx:parensfilmnote}
\togglefalse{bbx:parensfilmnote}

% BibliographyOptions

\DeclareBibliographyOption{ignoreaddendum}[true]{%
  \ifstrequal{#1}{true}
	{\toggletrue{ignoreaddendum}\toggletrue{ignoreaddendumcit}}
	{\togglefalse{ignoreaddendum}\togglefalse{ignoreaddendumcit}}
  \ifstrequal{#1}{both}
	{\toggletrue{ignoreaddendum}\toggletrue{ignoreaddendumcit}}
	{}
  \ifstrequal{#1}{bib}
	{\toggletrue{ignoreaddendum}}
	{}
  \ifstrequal{#1}{cite}
	{\toggletrue{ignoreaddendumcit}}
	{}
  }%

\DeclareBibliographyOption{ignoreforeword}[true]{%
  \ifstrequal{#1}{true}
	{\toggletrue{ignoreforeword}\toggletrue{ignoreforewordcit}}
	{\togglefalse{ignoreforeword}\togglefalse{ignoreforewordcit}}
  \ifstrequal{#1}{both}
	{\toggletrue{ignoreforeword}\toggletrue{ignoreforewordcit}}
	{}
  \ifstrequal{#1}{bib}
	{\toggletrue{ignoreforeword}}
	{}
  \ifstrequal{#1}{cite}
	{\toggletrue{ignoreforewordcit}}
	{}
  }%

\DeclareBibliographyOption{ignoreafterword}[true]{%
  \ifstrequal{#1}{true}
	{\toggletrue{ignoreafterword}\toggletrue{ignoreafterwordcit}}
	{\togglefalse{ignoreafterword}\togglefalse{ignoreafterwordcit}}
  \ifstrequal{#1}{both}
	{\toggletrue{ignoreafterword}\toggletrue{ignoreafterwordcit}}
	{}
  \ifstrequal{#1}{bib}
	{\toggletrue{ignoreafterword}}
	{}
  \ifstrequal{#1}{cite}
	{\toggletrue{ignoreafterwordcit}}
	{}
  }%

\DeclareBibliographyOption{ignoreintroduction}[true]{%
  \ifstrequal{#1}{true}
	{\toggletrue{ignoreintroduction}\toggletrue{ignoreintroductioncit}}
	{\togglefalse{ignoreintroduction}\togglefalse{ignoreintroductioncit}}
  \ifstrequal{#1}{both}
	{\toggletrue{ignoreintroduction}\toggletrue{ignoreintroductioncit}}
	{}
  \ifstrequal{#1}{bib}
	{\toggletrue{ignoreintroduction}}
	{}
  \ifstrequal{#1}{cite}
	{\toggletrue{ignoreintroductioncit}}
	{}
  }%

\DeclareBibliographyOption{ignoreparatext}[true]{%
  \ifstrequal{#1}{true}
	{\toggletrue{ignoreintroduction}\toggletrue{ignoreintroductioncit}
	\toggletrue{ignoreafterword}\toggletrue{ignoreafterwordcit}
	\toggletrue{ignoreforeword}\toggletrue{ignoreforewordcit}
	\toggletrue{ignoreaddendum}\toggletrue{ignoreaddendumcit}}
	{}
  \ifstrequal{#1}{both}
	{\toggletrue{ignoreintroduction}\toggletrue{ignoreintroductioncit}
	\toggletrue{ignoreafterword}\toggletrue{ignoreafterwordcit}
	\toggletrue{ignoreforeword}\toggletrue{ignoreforewordcit}
	\toggletrue{ignoreaddendum}\toggletrue{ignoreaddendumcit}}
	{}
  \ifstrequal{#1}{bib}
	{\toggletrue{ignoreintroduction}
	\toggletrue{ignoreafterword}
	\toggletrue{ignoreforeword}
	\toggletrue{ignoreaddendum}}
	{}
  \ifstrequal{#1}{cite}
	{\toggletrue{ignoreintroductioncit}
	\toggletrue{ignoreafterwordcit}
	\toggletrue{ignoreforewordcit}
	\toggletrue{ignoreaddendumcit}}
	{}
  }%

\DeclareBibliographyOption{publisher}[true]{%
\ifstrequal{#1}{true}
	{\toggletrue{printpublisher}}
	{}
\ifstrequal{#1}{missing}
	{\toggletrue{printpublisher}
	\toggletrue{markmissingpublisher}}
{}
\ifstrequal{#1}{false}
	{\togglefalse{printpublisher}}
{}
}

\DeclareBibliographyOption{parensvolume}[true]{\settoggle{bbx:volumeinparens}{#1}}
\DeclareBibliographyOption{script}[true]{\settoggle{bbx:scriptwriter}{#1}}
\DeclareBibliographyOption{actor}[true]{\settoggle{bbx:actor}{#1}}
\DeclareBibliographyOption{ignorearticle}[true]{\settoggle{ignorearticle}{#1}}
\DeclareBibliographyOption{partofcited}[true]{\settoggle{partofcitedflag}{#1}}
\DeclareBibliographyOption{germ}[true]{\settoggle{germfassung}{#1}}
\DeclareBibliographyOption{translatedas}[true]{\settoggle{germfassung}{#1}}
\DeclareBibliographyOption{directorreplace}[true]{\settoggle{bbx:directorreplace}{#1}}

\DeclareBibliographyOption{noseries}[true]{%
  \ifstrequal{#1}{true}
	{\togglefalse{printseriesflag}}
	{\toggletrue{printseriesflag}}}%
\DeclareBibliographyOption{series}[true]{\settoggle{printseriesflag}{#1}}%

\DeclareBibliographyOption{nopublisher}[true]{%
  \ifstrequal{#1}{true}
	{\togglefalse{printpublisher}}
	{\toggletrue{printpublisher}}}

\DeclareBibliographyOption{parensfilmnote}[true]{\settoggle{bbx:parensfilmnote}{#1}}%
\DeclareBibliographyOption{filmruntime}[true]{\settoggle{filmruntime}{#1}}%
\DeclareBibliographyOption{citeprefix}[true]{\settoggle{citeprefix}{#1}}
\newbibmacro*{bbx:savehash}{}

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

\DeclareBibliographyOption{yearatbeginning}[true]{%
  \ifstrequal{#1}{true}
	{\RequireBibliographyStyle{fiwi-yearbeginning}}{}}

\DeclareBibliographyOption{origyearwithyear}[true]{
  \ifstrequal{#1}{true}
	{\settoggle{origyearwithyear}{#1}}{}
  \ifstrequal{#1}{brackets}{\toggletrue{origyearwithyear}
	\toggletrue{origyearbrackets}}{}
  \ifstrequal{#1}{after}	
	{\toggletrue{bbx:origyearafter}}{}%
	}

\DeclareBibliographyOption{origyearsuperscript}[true]{\settoggle{origyearsuperscript}{#1}}

\DeclareBibliographyOption{pages}[true]{%
  \ifstrequal{#1}{true}
	{\toggletrue{bibpages}\toggletrue{citepages}}
	{\togglefalse{bibpages}\togglefalse{citepages}}
  \ifstrequal{#1}{both}
	{\toggletrue{bibpages}\toggletrue{citepages}}
	{}
  \ifstrequal{#1}{bib}
	{\toggletrue{bibpages}}
	{}
  \ifstrequal{#1}{cite}
	{\toggletrue{citepages}}
	{}
  }%

\DeclareBibliographyOption{origcite}[false]{%
  \ifstrequal{#1}{true}
	{\toggletrue{cbx:orgigyearcite}}
	{}
  \ifstrequal{#1}{superscript}
	{\toggletrue{cbx:orgigyearcite}%
	\toggletrue{cbx:superscriptcite}}
	{}
}%
                                
\ExecuteBibliographyOptions{%
	indexing=cite,
	maxnames=3,
	minnames=1,
	maxitems=9,
	useprefix=true,
	sorting=nyt,
	origdate=long,
	labeldate=year,
	urldate=long,
	hyperref=auto,
	pagetracker=true,
	ibidtracker=context,
	citetracker=context,
	isbn=false,
	autolang=hyphen,
	datezeros=false,
	dateuncertain=true,
	datecirca=true,
	labeldateparts
	}

\ExecuteBibliographyOptions[misc,movie,video]{%
	uniquename=false,
	labeltitle=true,
	uniquetitle=true
	}

\InitializeBibliographyStyle{%
  \let\bbx@lasthash\undefined}


% Schalter als Befehle
\newcommand*{\filmruntime}{\toggletrue{filmruntime}}% Schaltet Filmlaufzeit in Filmographie ein
\newcommand*{\nopublisher}{\togglefalse{printpublisher}}% Verlag ein oder aus, standardmässig ein
\newcommand*{\noseries}{\togglefalse{printseriesflag}}% Reihe ein oder aus, standardmässig ein
\newcommand*{\nociteprefix}{\togglefalse{citeprefix}}% Schaltet Namens-Prefix aus
\newcommand*{\ignoreaddendumtrue}{\toggletrue{ignoreaddendum}}
\newcommand*{\ignoreaddendumfalse}{\togglefalse{ignoreaddendum}}                                  
\newcommand*{\ignoreforewordtrue}{\toggletrue{ignoreforeword}}
\newcommand*{\ignoreforewordfalse}{\togglefalse{ignoreforeword}}                                  
\newcommand*{\ignoreafterwordtrue}{\toggletrue{ignoreafterword}}
\newcommand*{\ignoreafterwordfalse}{\togglefalse{ignoreafterword}}                                  
\newcommand*{\ignoreintroductiontrue}{\toggletrue{ignoreintroduction}}
\newcommand*{\ignoreintroductionfalse}{\togglefalse{ignoreintroduction}}                                  
\newcommand*{\ignorepublisherfalse}{\toggletrue{printpublisher}}
\newcommand*{\ignorepublishertrue}{\togglefalse{printpublisher}}                                  
\newcommand*{\ignoreaddresstrue}{\toggletrue{printaddress}}
\newcommand*{\ignoreaddressfalse}{\togglefalse{printaddress}}                                  
\newcommand*{\ignorelocationtrue}{\togglefalse{printaddress}}
\newcommand*{\ignorelocationfalse}{\toggletrue{printaddress}}    


\renewcommand*{\mkbibnameprefix}[1]{#1\addspace}
\renewrobustcmd*{\bibnamedelimi}{\addnbthinspace}
\renewrobustcmd*{\bibinitdelim}{\addnbthinspace}


% format definitions
\DeclareLabeldate[movie,misc,video]{
	\field{date}
	}

\DeclareFieldFormat{pages}{%
  \iftoggle{bibpages}
	{\addspace\mkpageprefix[pagination]{#1}}
	{\addspace #1}
  }

\DeclareFieldFormat{postnote}{%
  \iftoggle{citepages}
	{\mkpageprefix[pagination]{#1}}
	{#1}%
  }

\DeclareFieldFormat{volcitepages}{%
  \iftoggle{citepages}
	{\mkpageprefix[pagination]{#1}}
	{#1}%
  }

\DeclareFieldFormat{multipostnote}{%
  \iftoggle{citepages}
	{\mkpageprefix[pagination]{#1}}
	{#1}%
  }

\DeclareFieldFormat{isan}{\mkbibacro{ISAN}\addcolon\space #1}
\DeclareFieldFormat{tvmaintitle}{\film{#1}\addcolon\addspace}
%\DeclareFieldFormat{labelyear}{\mknumalph{#1}}
\DeclareFieldFormat{film}{\film{#1}}
\DeclareFieldFormat{altfilm}{\film{#1}}
\DeclareFieldFormat[misc,video,movie]{note}{\iftoggle{bbx:parensfilmnote}{\mkbibparens{#1}}{#1}}

\newbibmacro*{bbx:cite-alternatetitle}{
\iffieldundef{alternatetitlescript}
  {\addslash\printfield[film]{alternatetitle}}
  {\addslash%
  \ifbibmacroundef{altscript:\strfield{alternatetitlescript}-font}
	{\printfield[film]{alternatetitle}}
	{\usebibmacro*{altscript:\strfield{alternatetitlescript}-font}%
    {\thefield{alternatetitle}}}}}


\DeclareFieldFormat{title}{\mkbibemph{#1}}
\DeclareFieldFormat{origtitle}{#1}
\DeclareFieldFormat{noformat}{#1}
\DeclareFieldFormat{citetitle:incollection}{\emph{#1}\isdot}
\DeclareFieldFormat[movie]{citetitle}{\film{#1}}
\DeclareFieldAlias[misc]{title}[movie]{title}
\DeclareFieldAlias[video]{title}[movie]{title}


\DeclareIndexFieldAlias[movie]{indextitle}[misc]{indextitle}
\DeclareIndexFieldAlias[video]{indextitle}[misc]{indextitle}

\DeclareBibliographyAlias{misc}{movie}
\DeclareBibliographyAlias{video}{movie}
\DeclareBibliographyAlias{inbook}{incollection}

%\DeclareFieldFormat{related}{\addspace\mkbibparens{#1}}
\DeclareFieldFormat[review]{title}{\mkbibquote{#1}}
\DeclareFieldFormat[unpublished]{title}{\mkbibemph{#1}}
\DeclareFieldFormat{parttitle}{\mkbibemph{#1}}
\DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}}
\DeclareFieldFormat[phdthesis]{title}{\mkbibemph{#1}}
\DeclareFieldFormat{subtitle}{\mkbibemph{#1}}

\DeclareFieldFormat[movie,misc,video]{subtitle}{\mkbibparens{#1}\addperiod}
%\DeclareFieldFormat{booksubtitle}{\mkbibemph{#1}}
\DeclareFieldFormat{shorthandwidth}{#1}
\DeclareFieldFormat{film}{\film{#1}} 
\DeclareFieldFormat{plain}{#1}
\DeclareFieldFormat{part}{\iffieldundef{parttitle}{.#1}{#1}}% physical part of a logical volume
\DeclareFieldFormat[misc]{note}{\mkbibparens{#1}}
\DeclareFieldFormat{addendum}{\mkbibparens{#1}}
\DeclareFieldFormat{nameaddon}{\addspace\mkbibbrackets{#1}}
\DeclareFieldFormat{season}{\bibstring{tvseason} #1}
\DeclareFieldFormat{episode}{\bibstring{tvepisode} #1}
\DeclareFieldFormat{urldate}{\addthinspace --\addnbspace\bibstring{urlseen}\space#1}
\DeclareFieldFormat{url}{$\langle$\url{#1}$\rangle$}    
\DeclareFieldFormat[misc,movie,video]{duration}{#1%
	\iffieldequalstr{durationtype}{meter}%
	{\bibstring{meters}}{\bibstring{minutes}}}
\DeclareFieldFormat[online]{note}{#1~\adddot}
\DeclareFieldFormat{origendyear}{\bibdatedash#1}
\DeclareFieldFormat{endyear}{\bibdatedash#1\iffieldequalstr{endyear}{} 
  {\mbox{\addspace}} 
  {}}
\DeclareFieldFormat{ser+num}{\mkbibparens{#1}}
\DeclareFieldFormat[article,review]{volume}{%
\iftoggle{bbx:volumeinparens}{\unspace\bibstring{jourvol}\addnbthinspace{#1}}
{\bibstring{jourvol}\addnbthinspace{#1}}
}
\DeclareFieldFormat[article,review,periodical]{number}{\bibstring{number}\addnbthinspace{#1}}

\DeclareFieldFormat{origdate}{%
\ifboolexpr{%
	( test {\iftoggle{bbx:origyearafter}})%
	and ( test {\iffieldundef{origtitle}})}%
	{\unspace}{}%
	{\iffieldundef{shortoriglang}{}{\printfield{shortoriglang}\addspace}#1}}%
\DeclareFieldFormat{origyear}{\iftoggle{origyearsuperscript}%
	{\textsuperscript{1}#1}%
	{#1}}
	
\DeclareFieldFormat{origyearbook}{%
	\iftoggle{origyearbrackets}%
	{\addthinspace\bibopenbracket}{\addslash}%
	\iftoggle{origyearsuperscript}%
	{\textsuperscript{1}#1}%
	{#1}%
	\iftoggle{origyearbrackets}
	{\bibclosebracket}{}}
\DeclareFieldFormat{origyearart}{\mkbibparens{#1}}
\DeclareFieldFormat{origtit}{\mkbibparens{Original\addcolon\addspace #1}}
\DeclareFieldFormat{origtit:related}{Original\addcolon\addspace #1}
\DeclareFieldFormat{germfassung}{\mkbibbrackets{\midsentence\bibstring{translatedto}\adddot\addcolon\addspace#1}}

\DeclareListFormat{default}{%
\usebibmacro{list:delim}{#1}%
#1\isdot
  \usebibmacro{list:andothers}}

\DeclareListFormat{publisher}{%
  \usebibmacro{list:delim}{#1}%
#1\isdot%
  \usebibmacro{list:andothers}}

\DeclareListAlias{origpublisher}{publisher}

\DeclareListFormat{origlanguage}{%
  \bibstring{from#1}%
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\space}
    {}}
    
\DeclareListFormat{location}{% 
\ifthenelse{\value{listcount}>3}%
{}%
{#1%
\ifthenelse{\value{listcount}<\value{liststop}}% 
{\ifthenelse{\value{listcount}=3}{}{\addslash}}% 
{}}}

\DeclareNameAlias{bytranslator}{name:given-family}
\DeclareNameAlias{actor}{bytranslator}
\DeclareNameAlias{byeditor}{bytranslator}
\DeclareNameAlias{withafterword}{bytranslator}
\DeclareNameAlias{byredactor}{bytranslator}
\DeclareNameAlias{withcommentator}{bytranslator}
\DeclareNameAlias{withannotator}{bytranslator}
\DeclareNameAlias{withintroduction}{bytranslator}
\DeclareNameAlias{withforeword}{bytranslator}
\DeclareNameAlias[misc,movie,video]{author}[movie]{director}
\DeclareNameAlias[misc,movie,video]{editor}[movie]{scriptwriter}
\DeclareNameAlias{scriptwriter}{director}
\DeclareNameAlias{author}{family-given}
\DeclareNameAlias{editor}{author}
\DeclareNameAlias{bookauthor}{author}

% name format definitions

\newrobustcmd{\ifpseudo}[2]{%
\ifboolexpr{%
		( not test {\ifdefvoid{\nameparttruefamily}} or not test
		{\ifdefvoid{\nameparttruegiven}})}%
		{#1}{#2}%
}

\DeclareNameFormat{family-given}{%
  \ifgiveninits
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiveni}
      {\namepartprefix}
      {\namepartsuffix}
      \iftoggle{index:inindex}
        {}
        {\ifpseudo%
		{\usebibmacro{name:true:family-given}
		{\nameparttruefamily}
		{\nameparttruegiveni}
		{\nameparttrueprefix}
		{\nameparttruesuffix}}
		{}
	}}
	{\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiven}%
      {\namepartprefix}%
      {\namepartsuffix}%
      \iftoggle{index:inindex}
        {}
        {\ifpseudo%
		{\usebibmacro{name:true:family-given}%
		{\nameparttruefamily}%
		{\nameparttruegiven}%
		{\nameparttrueprefix}%
		{\nameparttruesuffix}}}%
		{}}%
  \usebibmacro{name:andothers}}
  
\DeclareNameFormat{name:commas}{%
    \renewcommand*{\multinamedelim}{\addcomma\addspace}%
    \renewcommand*{\finalnamedelim}{\addcomma\addspace}%
    \ifgiveninits
      {\usebibmacro{actor:given-family}
      	{\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffix}
        \iftoggle{index:inindex}
        {}
        {\ifpseudo%
        {\addthinspace\bibopenbracket{=}\usebibmacro{actor:given-family}
      	{\nameparttruefamily}
        {\nameparttruegiveni}
        {\nameparttrueprefix}
        {\nameparttruesuffix}
        \bibclosebracket}
        {}}}
      {\usebibmacro{actor:given-family}
      	{\namepartfamily}
        {\namepartgiven}
        {\namepartprefix}
        {\namepartsuffix}}%
    \ifblank{\namepartgiven\namepartprefix}
      {}
      {\usebibmacro{name:revsdelim}
      \iftoggle{index:inindex}
        {}
        {\ifpseudo%
        {\addthinspace\bibopenbracket{=}\usebibmacro{actor:given-family}
      	{\nameparttruefamily}
        {\nameparttruegiven}
        {\nameparttrueprefix}
        {\nameparttruesuffix}\bibclosebracket}
        {}}}
      \renewcommand*{\multinamedelim}{\addslash}%
      \renewcommand*{\finalnamedelim}{\addslash}}
  
\DeclareNameFormat{name:given-family}{%
    \ifgiveninits
      {\usebibmacro{name:given-family}
      	{\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffix}
        \iftoggle{index:inindex}
        {}
        {\ifpseudo%
        {\addthinspace\bibopenbracket{=}\usebibmacro{name:given-family}
        {\nameparttruefamily}
        {\nameparttruegiveni}
        {\nameparttrueprefix}
        {\nameparttruesuffix}\bibclosebracket}
        {}}}
      {\usebibmacro{name:given-family}
      	{\namepartfamily}
        {\namepartgiven}
        {\namepartprefix}
        {\namepartsuffix}}%
    \ifblank{\namepartgiven\namepartprefix}
      {}
      {\usebibmacro{name:revsdelim}%
      \iftoggle{index:inindex}
        {}
        {\ifpseudo%
        {\addthinspace\bibopenbracket{=}\usebibmacro{name:given-family}
        {\nameparttruefamily}
        {\nameparttruegiven}
        {\nameparttrueprefix}
        {\nameparttruesuffix}\bibclosebracket}}
        {}}%
  \usebibmacro{name:andothers}}
  
\DeclareNameFormat{actor}{%
    \ifgiveninits
      {\usebibmacro{name:given-family}
      	{\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffix}}
      {\usebibmacro{name:given-family}
      	{\namepartfamily}
        {\namepartgiven}
        {\namepartprefix}
        {\namepartsuffix}}%
    \ifblank{\namepartgiven\namepartprefix}
      {}
      {\usebibmacro{name:revsdelim}}%
  \usebibmacro{name:andothers}}
    
\DeclareNameFormat{director}{%
      \usebibmacro{director:given-family}
      	{\namepartfamily}
        {\namepartgiven}
        {\namepartprefix}
        {\namepartsuffix}%
    \ifblank{\namepartgiven\namepartprefix}
      {}
      {\usebibmacro{name:revsdelim}}%
  \ifpseudo
  	{\addthinspace\bibopenbracket{=}%
  	\usebibmacro{director:given-family}
      	{\nameparttruefamily}
        {\nameparttruegiven}
        {\nameparttrueprefix}
        {\nameparttruesuffix}%
    \ifblank{\namepartgiven\namepartprefix}
      {}
      {\usebibmacro{name:revsdelim}}\bibclosebracket}
      {}
    \usebibmacro{name:andothers}}
  
\newbibmacro*{director:given-family}[4]{%
  \usebibmacro{name:delim}{#2#3#1}%
  \usebibmacro{name:hook}{#2#3#1}%
  \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\addlowpenspace}%
  \ifdefvoid{#3}{}{%
    \mkbibnameprefix{#3}\isdot
    \ifpunctmark{'}
      {}
      {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}%
  \mkbibnamefamily{#1}\isdot
  \ifdefvoid{#4}{}{\addlowpenspace\mkbibnamesuffix{#4}\isdot}}

\renewbibmacro*{pageref}{%
  \iflistundef{pageref}
    {}
    {\printtext[]{%
       \ifnumgreater{\value{pageref}}{1}
         {}
         {}%
       \printlist[pageref][-\value{listtotal}]{pageref}}}}

\renewbibmacro*{name:family-given}[4]{%
  \ifuseprefix%
    {\usebibmacro{name:delim}{#3#1}%
    \usebibmacro{name:hook}{#3#1}%
    \ifdefvoid{#3}{}{%
       \ifcapital
         {\mkbibnameprefix{\MakeCapital{#3}}\isdot}%
         {\mkbibnameprefix{#3}\isdot}%
       }%\ifpunctmark{'}{}{\addhighpenspace}}%
\mkbibnamefamily{#1}\isdot
     \ifdefvoid{#2}{}{\addcomma\addlowpenspace\mkbibnamegiven{#2}\isdot}
     \ifdefvoid{#4}{}{\addcomma\addlowpenspace\mkbibnamesuffix{#4}\isdot}}%
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamefamily{#1}\addspace\isdot
     \ifdefvoid{#4}{}{\addlowpenspace\mkbibnamesuffix{#4}\isdot}%
     \addcomma\ifdefvoid{#3}{}{\addcomma}%
     \ifdefvoid{#2}{}{\addlowpenspace\mkbibnamegiven{#2}\isdot}%
     \ifdefvoid{#4}{}{\addlowpenspace\mkbibnamesuffix{#4}\isdot}%
     \addspace\ifdefvoid{#3}{}{\addlowpenspace\mkbibnameprefix{#3}\isdot}}}

\newbibmacro*{name:true:family-given}[4]{%
\addthinspace\bibopenbracket{=}%
  \ifuseprefix%
    {\usebibmacro{name:delim}{#3#1}%
    \usebibmacro{name:hook}{#3#1}%
    \ifdefvoid{#3}{}{%
       \ifcapital
         {\mkbibnametrueprefix{\MakeCapital{#3}}\isdot}%
         {\mkbibnametrueprefix{#3}\isdot}%
       }%\ifpunctmark{'}{}{\addhighpenspace}}%
       \mkbibnametruefamily{#1}\isdot%
       \ifdefvoid{#2}
       	{}{\addcomma\addlowpenspace\mkbibnametruegiven{#2}\isdot}%
       	\ifdefvoid{#4}
       	{}{\addcomma\addlowpenspace\mkbibnametruesuffix{#4}\isdot}}%
       		{\usebibmacro{name:delim}{#1}%
       		\usebibmacro{name:hook}{#1}%
    \mkbibnametruefamily{#1}\addspace\isdot
     \ifdefvoid{#4}
     	{}
     	{\addlowpenspace\mkbibnametruesuffix{#4}\isdot}%
     \addcomma\ifdefvoid{#3}{}{\addcomma}%
     \ifdefvoid{#2}{}{\addlowpenspace\mkbibnametruegiven{#2}\isdot}%
     \ifdefvoid{#4}{}{\addlowpenspace\mkbibnametruesuffix{#4}\isdot}%
     	\addspace\ifdefvoid{#3}
     	{}
     {\addlowpenspace\mkbibnametrueprefix{#3}\isdot}}%
     \bibclosebracket
}

\renewbibmacro*{name:given-family}[4]{%
  \usebibmacro{name:delimfirst}{#2#3#1}%
  \usebibmacro{name:hook}{#2#3#1}%
  \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\addlowpenspace}%
  \ifdefvoid{#3}{}{%
    \mkbibnameprefix{#3}\isdot
    \ifpunctmark{'}
      {}
      {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}%
\mkbibnamefamily{#1}\isdot
  \ifdefvoid{#4}{}{\addlowpenspace\mkbibnamesuffix{#4}\isdot}}
  
\newbibmacro*{actor:given-family}[4]{%
  \usebibmacro{name:delim}{#2#3#1}%
  \usebibmacro{name:hook}{#2#3#1}%
  \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\addlowpenspace}%
  \ifdefvoid{#3}{}{%
    \mkbibnameprefix{#3}\isdot
    \ifpunctmark{'}
      {}
      {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}%
\mkbibnamefamily{#1}\isdot
  \ifdefvoid{#4}{}{\addlowpenspace\mkbibnamesuffix{#4}\isdot}}  
  
\newbibmacro*{name:delimfirst}[1]{%
  \ifthenelse{\value{listcount}>\value{liststart}}
    {\ifthenelse{\value{listcount}<\value{liststop}\OR
                 \ifmorenames}
       {\addcomma\addspace}
       {\mkfinalnamedelimfirst{#1}}}
    {}}

\newcommand*{\mkfinalnamedelimfirst}[1]{\addspace\bibstring{and}\addspace}


%\newbibmacro*{translatedversion}[1]{%
%  \toggletrue{intransdecision}%
%  \edef\@tempa{\noexpand\docsvlist{#1}}%
%  \def\do##1{\toggletrue{dontprintextrayear}\printtext[germfassung]{%
%  \fullcite{##1}}}%
%  \@tempa\toggletrue{dontprintorig}%
%  \togglefalse{dontprintextrayear}\togglefalse{intransdecision}}

\renewbibmacro*{url+urldate}{%
  \printfield{url}%
  \setunit*{\addspace}%
  \printtext[]{\printurldate}}

% Sorting definitions

\DeclareSortingTemplate{title}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort{
    \field{maintitle}
    \field{sorttitle}
      \field{title}
  }
  \sort{
	  \field{sorttitle}
      \field{title}
	}
        \sort{
    \field{sortyear}
    \field{year}
  }
  \sort{
    \field[padside=left,padwidth=4,padchar=0]{volume}
    \literal{0000}
  }
}



\DeclareSortingTemplate{archiv}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort{
    \field{author}
    \field{sorttitle}
    \field{title}
  }
        \sort{
    \field{sortyear}
    \field{year}
  }
}



% biber sorting

\AtEndPreamble{%
\iftoggle{ignorearticle}
{\DeclareNosort{
\nosort{settitles}{\regexp{\A.*\/}}
\nosort{settitles}{\regexp{\AThe\s+}}
\nosort{settitles}{\regexp{\ADie\s+}}
\nosort{settitles}{\regexp{\ADer\s+}}
\nosort{settitles}{\regexp{\ADas\s+}}
\nosort{settitles}{\regexp{\AEin\s+}}
\nosort{settitles}{\regexp{\AEine\s+}}
\nosort{settitles}{\regexp{\AA\s+}}
\nosort{settitles}{\regexp{\AUne\s+}}
\nosort{settitles}{\regexp{\AUn\s+}}
\nosort{settitles}{\regexp{\ALe\s+}}
\nosort{settitles}{\regexp{\ALa\s+}}
\nosort{settitles}{\regexp{\AGli\s+}}
\nosort{settitles}{\regexp{\AIl\s+}}
\nosort{settitles}{\regexp{\AEl\s+}}
\nosort{settitles}{\regexp{\ALes\s+}}
\nosort{settitles}{\regexp{\ALos\s+}}
\nosort{settitles}{\regexp{\AL'\s+}}
\nosort{settitles}{\regexp{\AO\s+}}
}
}
{}
\DeclareSortExclusion{book,incollection}{maintitle}
\DeclareSortExclusion{collection}{maintitle,author,editor}
}

\DeclareSortExclusion{misc,video,movie}{author,editor,translator}

% Data inheritance

\DeclareDataInheritance{book}{incollection}{%
  \inherit{author}{bookauthor}
  \inherit{editor}{editor}
  \inherit{title}{booktitle}
  \inherit{subtitle}{booksubtitle}
  \inherit{titleaddon}{booktitleaddon}
  \noinherit{shorttitle}
  \noinherit{sorttitle}
  \noinherit{indextitle}
  \noinherit{indexsorttitle}
}

% Bibliography strings
\NewBibliographyString{notavailable}
\NewBibliographyString{fromjapanese}
\NewBibliographyString{fromhebrew}
\NewBibliographyString{minutes}
\NewBibliographyString{meters}
\NewBibliographyString{tvseason}
\NewBibliographyString{tvepisode}
\NewBibliographyString{translatedto}
\NewBibliographyString{prepublished}
\NewBibliographyString{reviewof}
\NewBibliographyString{airdate}
\NewBibliographyString{directedby}
\NewBibliographyString{writtenby}
\NewBibliographyString{writtendirectedby}
\NewBibliographyString{actors}
\NewBibliographyString{idea}
%\NewBibliographyString{citepage}
%\NewBibliographyString{citepages}

\DefineBibliographyExtras{german}{%
\protected\def\bibdateeraprefix{-}}

\DefineBibliographyStrings{german}{%
idea = {Idee\addcolon\addspace},
notavailable = {\brackettext{K\adddot\addnbthinspace{A}\adddot}},
andothers        = {et al\adddot\addspace},
directedby = {Regie\addcolon\addspace},
writtenby = {Buch\addcolon\addspace},
writtendirectedby = {Buch und Regie\addcolon\addspace},
fromhebrew = {aus dem Hebr\"aischen}, 
fromjapanese = {aus dem Japanischen},
bycompiler  = {zusammengestellt von},
bypublisher = {bei},
ibidem = {ebd\adddot},
url		= {},
urlseen	= {Zugriff am},
actors	= {Darsteller\addcolon\addspace},
in          = {In\addcolon},
redactor = {Red\adddot},
editor = {Hg\adddot},
editors = {Hgg\adddot},
phdthesis ={Unver\"offentlichte Dissertation},
minutes = {{\addnbthinspace}min},
meters = {{\addnbthinspace}m},
tvseason = {Staffel},
tvepisode = {Folge},
airdate = {},
astitle = {als},
part = {Teil},
translatedto = {dt\adddot},
reviewof = {Rezension von},
prepublished = {Online-Vorver\"offentlichung},
page             = {S\adddot\addnbspace},
pages            = {S\adddot\addnbspace},
nodate           = {undatiert},
january          = {Januar},
  february         = {Februar},
  march            = {M\"arz},
  april            = {April},
  may              = {Mai},
  june             = {Juni},
  july             = {Juli},
  august           = {August},
  september        = {September},
  october          = {Oktober},
  november         = {November},
  december         = {Dezember},
} 

% commands

\renewbibmacro*{finentry}{%
\ifboolexpr{%
( not test {\ifbibliography}) or 
( test {\iftoggle{intransdecision}} )
}% 
{\unspace}{\addperiod}} % unklar, warum \finentry nicht geht


\AtBeginDocument{%
  \IfFileExists{ragged2e.sty}{%
    \RequirePackage{ragged2e}%
    \appto{\bibsetup}{\RaggedRight}
  }{%
    \appto{\bibsetup}{\raggedright}
  }%
}

%\appto{\bibsetup}{\setlength{\emergencystretch}{8em}}
\newcommand*{\mkibid}[1]{#1}

\newrobustcmd*{\film}[1]{\textsc{#1}}

\renewbibmacro*{byeditor+othersstrg}{%
\ifboolexpr{%
( test {\iftoggle{ignoreforeword}} and test {\ifbibliography})
or ( test {\iftoggle{ignoreforewordcit}} and test {\ifcitation} )
}
{\clearname{foreword}}{}%
\ifboolexpr{%
( test {\iftoggle{ignoreafterword}} and test {\ifbibliography})
or ( test {\iftoggle{ignoreafterwordcit}} and test {\ifcitation} )
}
{\clearname{afterword}}{}%
\ifboolexpr{%
( test {\iftoggle{ignoreintroduction}} and test {\ifbibliography})
or ( test {\iftoggle{ignoreintroductioncit}} and test {\ifcitation} )
}
{\clearname{introduction}}{}%
  \iffieldundef{editortype}
    {\def\abx@tempa{byeditor}}
    {\edef\abx@tempa{by\thefield{editortype}}}%
  \let\abx@tempb=\empty
  \ifnamesequal{editor}{translator}
    {\appto\abx@tempa{tr}%
     \appto\abx@tempb{\clearname{translator}}}
    {}%
  \ifnamesequal{editor}{commentator}
    {\appto\abx@tempa{co}%
     \appto\abx@tempb{\clearname{commentator}}}
    {\ifnamesequal{editor}{annotator}
       {\appto\abx@tempa{an}%
        \appto\abx@tempb{\clearname{annotator}}}
       {}}%
  \ifnamesequal{editor}{introduction}
    {\appto\abx@tempa{in}%
     \appto\abx@tempb{\clearname{introduction}}}
    {\ifnamesequal{editor}{foreword}
       {\appto\abx@tempa{fo}%
        \appto\abx@tempb{\clearname{foreword}}}
       {\ifnamesequal{editor}{afterword}
          {\appto\abx@tempa{af}%
           \appto\abx@tempb{\clearname{afterword}}}
          {}}}%
  \ifbibxstring{\abx@tempa}
    {\printtext{\bibstring{\abx@tempa}}\abx@tempb}
    {\usebibmacro{bytypestrg}{editor}{editor}}}

\renewbibmacro*{bytranslator+others}{% Bei incollection wird translator nach dem Titel ausgegeben
\ifboolexpr{%
 ( test {\iftoggle{ignoreforeword}} and test {\ifbibliography} )
or ( test {\iftoggle{ignoreforewordcit}} and test {\ifcitation} )
}
{\clearname{foreword}}{}
\ifboolexpr{%
( test {\iftoggle{ignoreafterword}} and test {\ifbibliography})
or ( test {\iftoggle{ignoreafterwordcit}} and test {\ifcitation} )
}
{\clearname{afterword}}{}
\ifboolexpr{%
( test {\iftoggle{ignoreintroduction}} and test {\ifbibliography})
or ( test {\iftoggle{ignoreintroductioncit}} and test {\ifcitation} )
}
{\clearname{introduction}}{}
\ifthenelse{\ifnameundef{translator} \or \ifentrytype{incollection}}
    {}
  {\def\abx@tempa{bytranslator}%
     \ifnamesequal{translator}{commentator}
       {\appto\abx@tempa{co}%
        \clearname{commentator}}
       {\ifnamesequal{translator}{annotator}
          {\appto\abx@tempa{an}%
           \clearname{annotator}}
          {}}%
     \ifnamesequal{translator}{introduction}
       {\appto\abx@tempa{in}%
        \clearname{introduction}}
       {\ifnamesequal{translator}{foreword}
          {\appto\abx@tempa{fo}%
           \clearname{foreword}}
          {\ifnamesequal{translator}{afterword}
             {\appto\abx@tempa{af}%
              \clearname{afterword}}
             {}}}%
     \bibstring{\abx@tempa}%
     \setunit{\addspace}%
     \printnames[bytranslator]{translator}%
     \clearname{translator}%
     \newunit}%
  \usebibmacro{withothers}}
 
\renewbibmacro*{bybookauthor}{%
  \iftoggle{dontprintorig}{}
  {\ifnamesequal{author}{bookauthor}%
    {\ifthenelse{\value{author}>1}
    {\bibstring{idempp}}
  {\bibstring{idem\thefield{gender}}}}}
    {\printnames{bookauthor}}\isdot\addcolon}

\setlength{\bibitemsep}{0pt}

\defbibenvironment{bibliography}
  {\list
     {}
     {\setlength{\leftmargin}{\bibhang}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item}

\defbibenvironment{shorthands}
  {\list
     {\printfield[shorthandwidth]{shorthand}}
     {\setlength{\labelwidth}{\shorthandwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}%
      \renewcommand*{\makelabel}[1]{##1\hss}}}
  {\endlist}
  {\item}

\renewbibmacro*{addendum+pubstate}{%
\unspace%
\ifboolexpr{%
( test {\iftoggle{ignoreaddendum}} and test {\ifbibliography})
or ( test {\iftoggle{ignoreaddendumcit}} and test {\ifcitation} )
}
{\clearfield{addendum}}{}
  \printfield{addendum}%
  \newunit\newblock
  \printfield{pubstate}}

\renewbibmacro*{author}{%
  \ifboolexpr{
    test {\ifuseauthor}
    and
    not test {\ifnameundef{author}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\iftoggle{isreview}{}{\usebibmacro{bbx:savehash}}%
        \printnames{author}%
        \iffieldundef{nameaddon}{}%
        	{\printfield{nameaddon}}%
			\iffieldundef{authortype}
	  			{\setunit{\addspace}\addcolon\addspace}
	  			{\setunit{\addcomma\space}}}%
     \iffieldundef{authortype}
       {}
       {\usebibmacro{authorstrg}\addcolon\addspace%
	\setunit{\addspace}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\addspace}}}
     
\renewbibmacro*{editor}{%
  \usebibmacro{bbx:editor}{editorstrg}}%
  
\renewbibmacro*{editor+others}{%
  \usebibmacro{bbx:editor}{editor+othersstrg}}%
\newbibmacro*{bbx:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
	\iffieldundef{nameaddon}{}%
  {\printfield{nameaddon}}%
	\addspace%
	\iftoggle{isreview}{}{\usebibmacro{bbx:savehash}}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\addspace}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\addspace}}}
     
\newbibmacro*{incollectioneditor}{%
  \ifnameundef{editor}
    {}
    {\iftoggle{dontprintorig}%
    {\printnames{editor}}%
    {\ifnamesequal{author}{editor}%
    {\ifthenelse{\value{author}>1}%
    {\bibstring{idempp}\addnbspace}%
    {\bibstring{idem\thefield{gender}}\addnbspace}}%
    {\printnames{editor}}}}%
    \usebibmacro{editorstrg}}     
     
\newbibmacro*{collby}{%
\ifnameundef{author}%
{}%
{\bibstring{byauthor}\space%
\printnames[bytranslator]{author}}%
\ifnameundef{editor}%
{}%
{\bibstring{byeditor}\addspace%
\printnames[bytranslator]{editor}}}%

\newbibmacro*{labeltitle}{%
  \iffieldundef{label}
    {\iffieldundef{shorttitle}
       {\printfield{title}%
        \clearfield{title}}
       {\printfield[title]{shorttitle}}}
    {\printfield{label}}}
    
\renewbibmacro*{date}{%
	\iffieldundef{month}
       {\printfield{labelyear}}
       {\iffieldundef{day}
	  {\printfield{month}%
           \setunit{\addspace}%
	   \printfield{labelyear}}
	  {\printdate}}}
	       
\newbibmacro*{date+extrayear}{%
\ifentrytype{set}
{\usebibmacro{labelyear}}
{\iffieldundef{year}
    {\bibstring[\mkbibbrackets]{nodate}\addcolon\addspace}
    {\iftoggle{dontprintextrayear}%
       		{\printfield{year}}{\printdateextra}%%
       		\ifboolexpr{( 
       		test {\iftoggle{origyearwithyear}} 
       		( and not test {\iffieldundef{origyear}}  
	       or test {\iffieldequalstr{relatedtype}{origpubin}} )
    	   and test {\iffieldundef{origtitle}} ) }
       		{\iffieldequalstr{relatedtype}{origpubin}
       				{\entrydata*{\thefield{related}}{%
       				\printfield[origyearbook]{year}%
       				}}
       			{\usebibmacro{bbx:origdate}}
       		{}}
       {}}}}

\newbibmacro*{bbx:origdate}
{\iftoggle{origyearbrackets}%
	{\addthinspace\bibopenbracket}{\addslash}%
	\iftoggle{origyearsuperscript}%
	{\textsuperscript{1}\printorigdate}%
	{\iffieldundef{origyear}{}%
	{\iffieldequalstr{origdateunspecified}{yearincentury}
	{\number\numexpr\thefield{origyear}/100+1\relax%
	\adddot\addnbthinspace{Jhdt\adddot}}%
	{\printorigdate}}}%
	\iftoggle{origyearbrackets}
	{\bibclosebracket}{}}
       			
\newbibmacro*{labelyear}{%
  \iffieldundef{year}
    {}
    {\printtext{%
       \iffieldundef{endyear}
       {\printfield{labelyear}}
       {\printfield{year}
       \iffieldsequal{year}{endyear}
       {}{\printfield{endyear}}}%
       }}}       
  
  \renewbibmacro*{editorstrg}{%
  \printtext[editortype]{%
    \mkbibparens{\iffieldundef{editortype}
      {\ifboolexpr{
	 test {\ifnumgreater{\value{editor}}{1}}
	 or
	 test {\ifandothers{editor}}
       }
	 {\bibstring{editors}}
	 {\bibstring{editor}}}
      {\ifbibxstring{\thefield{editortype}}
	 {\ifboolexpr{
	    test {\ifnumgreater{\value{editor}}{1}}
	    or
	    test {\ifandothers{editor}}
	  }
	    {\bibstring{\thefield{editortype}s}}
	    {\bibstring{\thefield{editortype}}}}
	 {\thefield{editortype}}}}}\addcolon}

\renewbibmacro*{title}{%
  \iffieldundef{title}
    {}
    {\printtext[title]{%
       \printfield[noformat]{title}%
       \newunit\printfield[noformat]{subtitle}}}%
  \printfield{titleaddon}
  \ifboolexpr{ (test {\iffieldundef{origyear}} and not test {\iffieldequalstr{relatedtype}{origpubin}} )
  or (not test {\iffieldundef{origyear}} 
  and not test {\iffieldequalstr{relatedtype}{origpubin}} 
  and test {\iftoggle{origyearwithyear}} 
  and  test {\iffieldundef{origtitle}} )}
  {}
  {\iffieldequalstr{relatedtype}{origpubin}
  {\setunit{\addspace}\printtext[origyearart]{\printfield{year}%
  \iffieldundef{endyear}%
  {}{\printfield{endyear}}}}
  {\ifboolexpr{ (test{\iffieldundef{origtitle}} and not test {\ifentrytype{bookinbook}})}
  {\setunit{\addspace}\printtext[origyear]{\iftoggle{bbx:origyearafter}
  {\mkbibbrackets{\printorigdate}}
  {\mkbibparens{\printorigdate}}}}
  {}}
  }}
  
\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{%
  \iffieldundef{maintitle}%
    {}%
    {\iffieldundef{volume}%
       {}%
       {\usebibmacro{maintitle}%
        \newunit\newblock
	\printfield{volume}%
	\iffieldundef{parttitle}%
	{\printfield{part}}
	{}%
	\setunit{\addcolon\space}}}%
  \printfield{title}%
  \iffieldundef{maintitle}
  {\iffieldundef{booktitle}
  {\iffieldundef{volume}{}{\adddot\addspace\printfield{volume}}}{}}
  {}
  \newunit
  \printfield{subtitle}%
  \newunit
  \printfield{titleaddon}
  \iffieldundef{parttitle}
  {}
  {%
  \printtext{\bibstring{part}%
  \addspace\printfield{part}%
  \addcolon\addspace\printfield{parttitle}}}%
  \setunit{}\iffieldundef{origyear}{}
  {\ifboolexpr{%
  	( test {\iftoggle{bbx:origyearafter}}) and 
  	( test {\iffieldundef{origtitle}} )}
{\addspace\mkbibbrackets{\printorigdate}}{}}}

\newbool{bbx@inset}

\DeclareBibliographyDriver{set}{%
  \booltrue{bbx@inset}%
  \entryset
    {\toggletrue{intransdecision}\ifnumequal{\thefield{entrysetcount}}{1}
       {}
       {\addspace\setunit{}%
        \toggletrue{dontprintorig}\bibopenbracket%
        \bibsentence\bibstring{translatedto}\addcolon\space}}
    {\ifnumequal{\thefield{entrysetcount}}{1}
       {}
       {\setunit{}%
        \unspace\bibclosebracket}}%
  \finentry}
  
\newbibmacro*{bbx:dashcheck}[2]{%
  \ifboolexpr{
    test {\iffieldequals{fullhash}{\bbx@lasthash}}
    and
    not test \iffirstonpage
    and
    (
       not bool {bbx@inset}
       or
       test {\iffieldequalstr{entrysetcount}{1}}
    )
  }
    {#1}
    {#2}}
 
\DeclareFieldFormat{related:origpubin}{}

\renewbibmacro*{related:origpubin}[1]{%
}


\newbibmacro*{related:translationof}[1]{%
\mkbibparens{\usebibmacro{origyear+location+title}}}



\renewbibmacro*{related}{%
  \ifboolexpr{
    not test {\iftoggle{bbx:related}}
    or
    test {\iffieldundef{related}}
  }
    {\iffieldundef{origtitle}
    {}
    {\usebibmacro{related:translatedas}}}
    {\setcounter{bbx:relatedcount}{0}%
     \setcounter{bbx:relatedtotal}{0}%
     \def\do##1{\stepcounter{bbx:relatedtotal}}%
     \docsvfield{related}%
     \def\do{%
       \stepcounter{bbx:relatedcount}%
       \ifnumgreater{\value{bbx:relatedcount}}{1}
         {\printtext{\relateddelim}}
         {}}%
     \ifbibmacroundef{related:\strfield{relatedtype}}
       {\appto{\do}{\usebibmacro{related:default}}}
       {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}%
     \iffieldformatundef{related:\strfield{relatedtype}}
       {\def\bbx@tempa{related}}
       {\def\bbx@tempa{related:\strfield{relatedtype}}}%
     \printtext[\bbx@tempa]{%
       \iffieldundef{relatedstring}
         {\ifboolexpr{
            test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}
            and
            test {\ifbibxstring{\thefield{relatedtype}s}}
          }
            {\printtext{\bibstring{\thefield{relatedtype}s}\relatedpunct}}
            {%\iffieldbibstring{relatedtype}
            	%{\printtext{\bibstring{\thefield{relatedtype}}\relatedpunct}}
            	%{}
               }}
         {\iffieldbibstring{relatedstring}
            {\printtext{\bibstring{\thefield{relatedstring}}\relatedpunct}}
            {\printtext{\printfield{relatedstring}\relatedpunct}}}%
       \docsvfield{related}}\togglefalse{intransdecision}}}


\renewbibmacro*{related:multivolume}[1]{%
  \entrydata*{#1}{%
    \printfield{volume}%
    \printfield{part}%
    \setunit{\addcolon\space}%
    \usebibmacro{title}%
    \ifboolexpr{
      test {\ifnamesequal{author}{savedauthor}}
      or
      test {\ifnameundef{author}}
    } 
      {}
      {\usebibmacro{bytypestrg}{author}{author}%
       \setunit{\addspace}%
       \printnames[byauthor]{author}
       \newunit\newblock}%
    \ifboolexpr{
      test {\ifnamesequal{editor}{savededitor}}
      or
      test {\ifnameundef{editor}}
    } 
      {}
      {\usebibmacro{byeditor+others}%
       \newunit\newblock}%
  \printdate}}

\newbibmacro*{related:translatedas}[1]
{\toggletrue{dontprintextrayear}%
\iftoggle{dontprintorig}
{}
{\ifboolexpr{%
	test {\iftoggle{germfassung}}
and test {\iffieldequalstr{relatedtype}{translatedas}}}
	{\toggletrue{dontprintorig}\toggletrue{intransdecision}%
	\entrydata{\thefield{related}}{%
    \printtext[germfassung]{%
    \usedriver{}{\thefield{entrytype}}\unspace}%
    }
	\togglefalse{intransdecision}}%
	{\usebibmacro{origyear+location+title}}%
}}

\newbibmacro*{review}[1]{%
\toggletrue{dontprintextrayear}\printtext{%
  \iffieldundef{title}{}%
  {\usebibmacro{title}}\bibstring{reviewof}\addspace%
  \entrydata{#1}{%
  \usedriver{}{\thefield{entrytype}}}%
  }%
  \togglefalse{dontprintextrayear}}

\newbibmacro*{origyear+location+title}{%
\iffieldundef{origtitle}%
{\iffieldequalstr{relatedtype}{translationof}
{\entrydata*{\thefield{related}}{%
\setunit{}\newblock\printtext[origtit:related]{\printfield[noformat]{title}%
\iftoggle{printaddress}{}{\clearlist{location}}%
\iflistundef{location}{}%
{\adddot\addspace\printlist{location}%
\iftoggle{printpublisher}%
{\iflistundef{publisher}
{}
{\setunit{\isdot\addcolon\addspace}
\printlist{publisher}\setunit{\addcomma\space}}}
{}}%
\addspace\printdate%
\iffieldundef{endyear}%
{}{\printfield{endyear}}%
}}}
{}}
{\setunit{}\newblock\printtext[origtit]{\printfield[noformat]{origtitle}%
\iftoggle{printaddress}{}{\clearlist{location}}%
\iflistundef{origlocation}{}%
{\adddot\addspace\printlist{origlocation}%
\iftoggle{printpublisher}%
		{\iflistundef{origpublisher}%
		{}%
		{\setunit{\isdot\addcolon\addspace}
		\printlist{orgpublisher}\setunit{\addcomma\space}}}%
		{}%
}%
\iffieldundef{origyear}{}%
{\iflistundef{origlocation}
{\adddot}{}
\iffieldequalstr{origdateunspecified}{yearincentury}
{\number\numexpr\thefield{origyear}/100+1\relax \adddot\addnbthinspace{Jhdt\adddot}}
{\addspace\printorigdate
\iffieldundef{origendyear}
{}{\printfield{origendyear}}}}%
}}}
       
% serials
\newbibmacro*{movie:serials}{
\addcomma\newunit%
\usebibmacro{filmloc}\addcomma\newunit%
\usebibmacro{filmorg}
\addspace\printdate%
\iffieldequalstr{endyear}{}
{\addspace .}
{}%
\newunit\newblock}
  
%normale Filme
\newbibmacro*{movie:regular}{
\addcomma\addspace
\usebibmacro{filmloc}
\addspace\printdate}

%normale Filme
\newbibmacro*{movie:tv}{%
\usebibmacro{filmorg}%
\addcomma%
\printtext{\addspace\bibstring{airdate}\addspace\printdate}}

       
\newbibmacro*{filmtitle}
{\iffieldundef{maintitle}
{\printtext{\printfield[film]{title}}}
{\printtext{\printfield[film]{maintitle}\newunit}}%
\iffieldundef{alternatetitle}
{}
{\usebibmacro{bbx:cite-alternatetitle}}
\setunit{}%
\printtext{\addspace\printfield{subtitle}}%
\iffieldundef{volume}
{}
{\printtext{\addperiod\addspace\printfield[season]{volume}}}%
\iffieldundef{number}
{}
{\printtext{\addcomma\addspace\printfield[episode]{number}}}%
\iffieldundef{maintitle}%
{}%
{\addcolon\addspace\printfield[film]{title}}%
\ifpunctmark{!}{\unspace .\newunit}{\adddot}}%

%\newbibmacro*{bbx:cite-alternatetitle}
%{\addslash\printfield[altfilm]{alternatetitle}}

\newbibmacro*{filmloc}
{\printlist{location}}%


\newbibmacro*{filmorg}
{\printlist{organization}}

\newbibmacro*{movie:creators}{%
\iftoggle{bbx:scriptwriter}
  {\usebibmacro{movie:directorsscriptwriters}}%
  {\usebibmacro{movie:directors}}%
}

\newbibmacro*{movie:directors}{%
  \ifpunct{\unspace}{}%
  \ifnameundef{director}{%
\iftoggle{bbx:directorreplace}
{\iflistundef{production}{\bibstring{notavailable}}{\printlist{production}}}
{\iffieldequalstr{entrysubtype}{tv}
{}{\bibstring{notavailable}}}}
{\iffieldundef{creatortype}{}%
{\bibstring{\thefield{creatortype}}}%
\printnames[director]{director}%
\iffieldundef{filmmakertype}%
{}%
{\addspace\mkbibbrackets{\printfield{filmmakertype}}}%
}}

\newbibmacro*{movie:directorsscriptwriters}{%
  \ifnamesequal{scriptwriter}{director}
	{\bibstring{writtendirectedby}\printnames{director}}
	{\ifpunct{\unspace}{}\bibstring{directedby}\printnames{director}
	\ifnameundef{scriptwriter}
	{}{\newunit\bibstring{writtenby}\printnames{scriptwriter}}}
}

\newbibmacro*{movie:actor}{%
\ifnameundef{actor}
{}
{\bibstring{actors}\printnames[name:commas][-\value{listtotal}]{actor}}
}

\newbibmacro*{mtitle+vol+btitle+bstitle}{%
  \iffieldundef{maintitle}%
    {}%
    {\iffieldundef{volume}%
    {}%
    {\addspace\usebibmacro{maintitle}%
    \newunit%
	\printfield{volume}%
	\printfield{part}%
	\setunit{\addcolon\space}}}%
  \usebibmacro{booktitle}\newunit%
  \ifnameundef{bookauthor}
  {\usebibmacro{withothers}}
  {\usebibmacro{byeditor+others}}
  }

\renewbibmacro*{title+issuetitle}{%
  \setunit{\addspace}%
  \setunit*{\addcomma\addspace}\usebibmacro{issue+date}
  \iffieldundef{issuetitle}
  	{}
  	{\addcolon\addspace\printtext{\usebibmacro{issue}}}%
  \usebibmacro{byeditor}\setunit{\addcomma\space}%
\iffieldundef{pages}
	{}
	{\setunit*{\addcomma}}}

\renewbibmacro*{journal+issuetitle}{%
  \ifentrytype{periodical}
  {\usebibmacro{periodical}}
  {\usebibmacro{journal}}
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \iffieldundef{volume}
	{}
	{\iftoggle{bbx:volumeinparens}
	{\mkbibparens{\printfield{volume}\unspace}}	
	{\addcomma\addspace\printfield{volume}%
	\ifboolexpr{%
( test {\iffieldundef{number}} and not test {\iffieldundef{issuetile}})
}
	{\addcolon}%
	{\addcomma}}}%
	\printtext{\addspace\printfield{number}}\addspace%
  \printfield{eid}%
  \usebibmacro{title+issuetitle}
}


  
\renewbibmacro*{issue+date}{%
  \ifterm{}{\setunit{\addcomma\addspace}}%
  \iffieldundef{issuetitle}{\setunit*{\addcomma}}{\addthinspace}\printtext{%
    \iffieldundef{issue}
      {\usebibmacro{date+extrayear}}
      {\printfield{issue}%
       \setunit{\addcomma\addspace}%
       \usebibmacro{date+extrayear}}}}

\newbibmacro*{publ+loc+year}{%
\iftoggle{printaddress}{}{\clearlist{location}}
\printlist{location}%
\iftoggle{printpublisher}%
		{\iflistundef{publisher}%
		{\iftoggle{markmissingpublisher}
			{\addcolon\addspace\textbf{???}\setunit{\addcomma\space}}
			{\setunit*{\space}}}%
		{\iflistundef{location}
		{\adddot\addspace}
		{\setunit{\isdot\addcolon\addspace}}
		\printlist{publisher}\setunit{\addcomma\space}}}%
		{\setunit*{\space}}%
\usebibmacro{date+extrayear}%
\usebibmacro{origyear}%
}%

\newbibmacro*{origyear}{%
\ifboolexpr{ 
not test {\iffieldequalstr{relatedtype}{origpubin}}
and (test {\iffieldundef{origyear}}%
	)}
  {}%
  {\ifboolexpr{ (test {\iffieldundef{origtitle}}
  and not test {\iftoggle{origyearwithyear}} )}
  %
  {\iffieldequalstr{relatedtype}{origpubin}
       {\printtext[origyearbook]{\entrydata*{\thefield{related}}{%
       \printfield{year}}%
       \iffieldundef{endyear}%
  {}{\printfield{endyear}}%
       }}%
       {%\printorigdate
       \usebibmacro{bbx:origdate}}}%
  {}}%
}  

\newbibmacro*{org+publ+loc+year}{%
\iftoggle{printaddress}{}{\clearlist{location}}
\printfield{organization}\newunit%
\iflistundef{publisher}%
{\iflistundef{location}%
{}%
{\printlist{location}%
\setunit{\addspace}}}%
{\printlist{location}%
\iftoggle{printpublisher}
	{\setunit{\isdot\addcolon\space}%
	\printlist{publisher}\setunit{\addcomma\space}}%
          {\addspace}}%
  \usebibmacro{date+extrayear}}
  
\newbibmacro*{inst+loc+year}{%
\iftoggle{printaddress}{}{\clearlist{location}}
  \iflistundef{institution}
    {\iflistundef{location}
       {}
       {\printlist{location}%
        \setunit{\addspace}}}
    {\iflistundef{location}
       {}
       {\printlist{location}%
        \setunit{\isdot\addcolon\space}}%
     \printlist{institution}%
     \setunit{\addspace}}%
  \usebibmacro{date+extrayear}}
  
\newbibmacro*{chap+pag}{%
  \iffieldundef{chapter}
    {\iffieldundef{pages}%
       {}%
       {\addcomma\addspace\printfield{pages}}}%
    {\printfield{chapter}%
     \newunit\printfield{pages}}%
       }
  
\newbibmacro*{ser+num}{%
\iftoggle{printseriesflag}%
{\iffieldundef{series}%
{}%
    {\setunit{}\addspace\printtext{\mkbibparens{=\addnbspace%
       \printfield{series}%
       \iffieldundef{number}{}{\setunit{\addcolon\addnbspace}%
       \printfield{number}}}}\adddot\addnbspace}%
}}%
{}

\newbibmacro*{test:partofcited}{%
  \ifboolexpr{(
  test {\iffieldundef{crossref}} )
  and test {\iffieldundef{xref}} }
  {}
  {%
  \ifboolexpr{( 
  test {\iftoggle{partofcitedflag}}
  and test {\ifentryseen{\thefield{xref}}}
  )
  or (
  test {\iftoggle{partofcitedflag}}
  and test {\ifentryseen{\thefield{crossref}}}
  )}
  {\toggletrue{partofcited}}{}}%
  }

\newbibmacro*{bbx:authorvolumepartof}{% Derzeit nicht gebraucht
\ifnameundef{bookauthor}%
  {\ifnameundef{editor}
  {}
  {\printnames[labelname][-1]{editor}}}
  {\printnames[labelname][-1]{bookauthor}}
\addspace\mkbibparens{\printfield{year}}}

\DeclareBibliographyDriver{review}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator}%
  \newblock\toggletrue{isreview}
  \usebibmacro{review}{\thefield{related}}%
  \togglefalse{isreview}\newunit\newblock
  \usebibmacro{bytranslator}%
  \newunit\newblock
  \usebibmacro{in:}%
  %\newblock%
    \ifboolexpr {
  not test {\iflistundef{location}}
  and not test {\ifnameundef{editor}}
  }
  {\iftoggle{partofcited}%
  {\iffieldundef{xref}%
  {\mancite\textcite{\thefield{crossref}}}%
  {\mancite\textcite{\thefield{xref}}}
  \usebibmacro{chap+pag}}%
  {\newunit\newblock%
  \ifnameundef{bookauthor}%
  {\ifnameundef{editor}
  {}
  {\usebibmacro{incollectioneditor}}}
  {\usebibmacro{bybookauthor}}
  %\newunit
  \newblock%
  \usebibmacro{mtitle+vol+btitle+bstitle}%
  \ifnamesequal{author}{editor}
  {\ifnameundef{bookauthor}
  {}
  {\usebibmacro{byeditor}}}
  {}
  \ifnamesequal{author}{bookauthor}
  {\ifnameundef{editor}
  {}
  {\usebibmacro{byeditor}\newunit}%
  {}
  }}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{ser+num}%
  \newunit\newblock%
  \printfield{edition}%
  \printfield{note}%
  \newunit%
  \usebibmacro{org+publ+loc+year}
  \newblock%
  \usebibmacro{chap+pag}%
  }
  {\usebibmacro{journal+issuetitle}%
  \printfield{pages}}
  \newblock
  \bibsentence\printfield{note}%
  %\setunit{.}\newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock%
  \ifthenelse{\iffieldundef{doi} \and \iffieldundef{url} \and \iffieldundef{eprint}}%
	{}
	{\usebibmacro{doi+eprint+url}}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator}%
  \newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{bytranslator}%
  \newunit\newblock
  \usebibmacro{in:}%
  %\newblock%
  \usebibmacro{journal+issuetitle}%
  \newunit\usebibmacro{chap+pag}%
  \newblock
  \iffieldundef{note}
	{}
	{\bibsentence\printfield{note}}%
  %\setunit{.}\newblock
  \usebibmacro{related}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock%
  \ifthenelse{\iffieldundef{doi} \and \iffieldundef{url} \and \iffieldundef{eprint}}%
	{}
	{\usebibmacro{doi+eprint+url}}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{test:partofcited}%
  \iftoggle{dontprintorig}{}{\usebibmacro{author/translator}}%
  %\newunit\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \ifnamesequal{author}{bookauthor}{% Verhindern, dass Ãœbersetzer zweimal ausgegeben wird
  \ifnamesequal{editor}{translator}{}{%
  \usebibmacro{bytranslator}}}%
  {\usebibmacro{bytranslator}}%
  \newunit\newblock
  \usebibmacro{in:}%
  %\newunit%
  \iftoggle{partofcited}%
  {\iffieldundef{xref}%
  {\entrydata*{\thefield{crossref}}{%
  \printnames{labelname}\addspace\mkbibparens{\printlabeldateextra}}}
  {\entrydata*{\thefield{xref}}{%
  \printnames{labelname}\addspace\mkbibparens{\printlabeldateextra}}}
  \usebibmacro{chap+pag}}%
  {\newunit\newblock%
  \ifnameundef{bookauthor}%
  {\ifnameundef{editor}
  {}
  {\usebibmacro{incollectioneditor}}}
  {\usebibmacro{bybookauthor}}
  %\newunit
  \newblock%
  \usebibmacro{mtitle+vol+btitle+bstitle}%
  \ifnamesequal{author}{editor}
  {\ifnameundef{bookauthor}
  {}
  {\usebibmacro{byeditor}}}
  {}
  \ifnamesequal{author}{bookauthor}
  {\ifnameundef{editor}
  {}
  {\usebibmacro{byeditor}\newunit}%
  {}
  }%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{ser+num}%
  \newunit\newblock%
  \printfield{edition}%
  \printfield{note}%
  \newunit%
  \usebibmacro{org+publ+loc+year}%
  \newblock%
  \usebibmacro{chap+pag}%
  %\setunit{\par}\newblock
  %\usebibmacro{doi+eprint+url}%
  %\newunit\newblock
  \addspace\usebibmacro{related}%
  \newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newblock}
  \usebibmacro{pageref}%
  %\newunit\newblock
  %\usebibmacro{related}%  
  \usebibmacro{finentry}}
  
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \iftoggle{dontprintorig}{}{%
  \ifnameundef{author}%
  	{\ifnameundef{editor}%
  		{}%
  		{\usebibmacro{editor}\addspace}}%
	{\usebibmacro{author/translator+others}}}%
  \newblock
  \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
  \newunit\newblock
  \ifnameundef{author}
  {\usebibmacro{bytranslator+others}}
  {\usebibmacro{byeditor+others}}%
  \newunit\newblock
  \printfield{note}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{ser+num}%
  \newunit\newblock%
  \printfield{edition}%
  \newunit\newblock%
  \usebibmacro{publ+loc+year}%
  \usebibmacro{chap+pag}%
  \ifterm{.}{}\newblock
  \ifthenelse{\iffieldundef{doi} \and \iffieldundef{url} \and \iffieldundef{eprint}}
	{}
	{\addperiod\addspace\usebibmacro{doi+eprint+url}}%
  \addspace\usebibmacro{related}%
  \newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

  
\DeclareBibliographyDriver{collection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  %\usebibmacro{mtitle+vol+title+stitle}%
  \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
  \newunit\newblock%
  \usebibmacro{collby}%
  \newunit\newblock
  \usebibmacro{bytranslator}%
  \newunit\newblock%
  \iffieldundef{edition}%
  	{}%
	{\printfield{edition}}%
  \iffieldundef{note}%
	{}%
	{\printfield{note}}%
  %\newunit
  %\iffieldundef{maintitle}
  %{\printfield{volume}}
  %{}%
  %\newunit
  %\printfield{volumes}%
  \newunit\newblock
  \usebibmacro{ser+num}%
  \newunit\newblock
  \usebibmacro{publ+loc+year}%
  \addspace\usebibmacro{related}
  \newunit\newblock
  \usebibmacro{chap+pag}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  %\setunit{\par}\newblock
  \usebibmacro{doi+eprint+url}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}%  
  \usebibmacro{finentry}}


\DeclareBibliographyDriver{movie}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \newblock%
  \usebibmacro{filmtitle}%
  \newunit\newblock%
  \usebibmacro{movie:creators}%
  \iffieldundef{entrysubtype}%
	{\usebibmacro{movie:regular}}%
	{\iffieldequalstr{entrysubtype}{serial}%
		{\usebibmacro{movie:serials}}%
		{\iffieldequalstr{entrysubtype}{tv}%
			{\usebibmacro{movie:tv}}%
			{\usebibmacro{movie:regular}}}}%
	\iftoggle{bbx:actor}%
		{\newunit\newblock\usebibmacro{movie:actor}}%
		{}%
  \iffieldundef{duration}%
  	{}
  	{\iftoggle{filmruntime}%
 		{\addcomma\addspace\printfield{duration}}%
 		{}}
 \iffieldundef{note}%
 	{}
 	{\printfield{note}}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isan}}
    {}%
 \newunit\newblock
%\usebibmacro{doi+eprint+url}
 \usebibmacro{pageref}
 \usebibmacro{finentry}} 

\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor/translator}
  \newunit\newblock
  \usebibmacro{title}%
    \newunit\newblock
  \usebibmacro{bytranslator}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \addspace\usebibmacro{related}
  \newunit\newblock
  \printfield{note}%
  %\newunit\newblock
  \addspace\usebibmacro{doi+eprint+url}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
  
\DeclareBibliographyDriver{thesis}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator}%
  \newunit\newblock
  \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \usebibmacro{inst+loc+year}%
  \newunit\newblock
  \usebibmacro{chap+pag}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
  
\DeclareBibliographyDriver{periodical}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  %\usebibmacro{editor}%
  %\setunit{\nametitledelim}\newblock
  \usebibmacro{journal+issuetitle}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}  
  
  \DeclareBibliographyDriver{unpublished}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator}%
  \newunit\newblock
  \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
  \newunit\newblock
  \printfield{type}%
  \iffieldundef{issue}
  {}{\newunit\printfield{issue}}
  \newunit\newblock
  \usebibmacro{inst+loc+year}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}
  \newunit\newblock  
  \printfield{note}%
  \newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}


 \DeclareBibliographyDriver{archival}{%
 \usebibmacro{bibindex}%
 \usebibmacro{begentry}%
 \usebibmacro{author/translator}%
 \newunit\newblock
 \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
 \newunit\newblock
  \ifnameundef{author}{\iffieldundef{year}
  	{\bibstring[\mkbibbrackets]{nodate}}
  	{\iftoggle{dontprintextrayear}%
  		{\printfield{year}}{\printdateextra}}}%
  		{\iffieldundef{day}
  {}{\usebibmacro{date}}}%
\newunit\newblock
\printfield{library}
\printfield{librarylocation}
 \newunit\newblock
 %\usebibmacro{inst+loc+year}%
 \newunit\newblock
 \usebibmacro{doi+eprint+url}
 \newunit\newblock  
 \printfield{note}%
 \newblock
 \usebibmacro{addendum+pubstate}%
 \newunit\newblock
 \usebibmacro{pageref}%
 \usebibmacro{finentry}}

\endinput