% biblatex-juradiss.bbx, Tobias Schwan 2012
% Änderungen von Herbert Voß -- 2020
\ProvidesFile{biblatex-juradiss.bbx}[2020/10/01 v0.23 biblatex bibliography style]
% Release Notes can be found in the README

\RequireBibliographyStyle{authortitle-dw}%

\ExecuteBibliographyOptions{editorstring=parens}% Hrsg. oder Begr. in runde Klammern (biblatex-dw)

% Zusaetzliche Nennung des Werktitels nur bei online und book notwendig,
% sonst ist Titel auch bei mehreren Werken des gleichen Autors eindeutig, 
% wg. Zusatz wie NJW oder FS X. Benoetigt backend=biber
\ExecuteBibliographyOptions[online,book]{singletitle=true}

% Zusätzlicher Abstand zwischen den LitVerz-Einträgen
\setlength{\bibitemsep}{3pt}% 

\def\bbx@opt@firstnamefont@italic{\renewcommand{\bbx@firstnamefont}{\textit}}% to prevent \emph \emph

% Trennzeichen hinter dem Namen im LitVerz
\renewcommand*{\labelnamepunct}{\addcomma\space}

% Reihenfolge der Namen im LitVerz: Nachname, Vorname und Nachname, Vorname usw.
\DeclareNameFormat{sortname}{% Bibliographie
  \mkbibemph{%
    \ifgiveninits
      {\usebibmacro{name:family-given}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}}%
      {\usebibmacro{name:family-given}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}}%
    \usebibmacro{name:andothers}%
  }
}

% LitVerz-Format von Zeitschriftenartikeln
\DeclareBibliographyDriver{article}{% default
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \printfield{journaltitle}%
  \addspace
  \iffieldequalstr{entrysubtype}{newspaper}%
    {%
	  v.\space
	  \printdate
	  \addcomma\space
      \newunit\newblock%
      Nr.\space
	  \printfield{volume}
	  \newunit\newblock
	\newunit\newblock
	  \pno\ppspace\printfield{pages}%
	}%
    {\iffieldequalstr{entrysubtype}{other}%(ohne S.)
      {%
        \printfield{year}%   
        \newunit\newblock%	
        \printfield{pages}%
      }%
      {%
        \printfield{year}%   
        \newunit\newblock%	
        \pno\ppspace\printfield{pages}%   
      }}%
  \usebibmacro{finentry}}
  
% LitVerz-Format von juristischen Kommentaren
\DeclareBibliographyDriver{commentary}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \newunit
  \usebibmacro{namex}%				<-- Begr. u� als Autoren
  \usebibmacro{editorx}%			<-- Begr. u� als Hrsg.
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
%  \printlist{language}%
%  \newunit\newblock
  \usebibmacro{volumes+volume+part}%
  \setunit{\addspace}%
  \usebibmacro{series+number}%
  \newunit\newblock
   \printfield{note}%
  \newunit\newblock
  \printfield{edition}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
%   \printfield{pagetotal}
%   \newunit\newblock
%  \printfield{isbn}%
%  \newunit\newblock
%  \printfield{doi}%
%  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \addcomma\addspace%			<-- 'zitiert als: Bearbeiter in XYZ' 
  \mkbibemph{%
    zitiert\addnbspace%  			<-- 
    als\addcolon\addspace%      			<--
    Bearbeiter\addcomma}%			<--
  \usebibmacro{in:}%
  \iffieldundef{shorthand}%
    {%
      \setboolean{zitiertals}{true}%
      \printnames{labelname}%
      \setboolean{zitiertals}{false}%
    }%
    {\printfield{shorthand}}%
  \usebibmacro{finentry}}%

% LitVerz-Format von Rechtsprechungszitaten
\DeclareBibliographyDriver{jurisdiction}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \newunit
  \usebibmacro{namex}%				<-- Begr. u� als Autoren
  \usebibmacro{editorx}%			<-- Begr. u� als Hrsg.
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
%  \printlist{language}%
%  \newunit\newblock
  \usebibmacro{volumes+volume+part}%
  \setunit{\addspace}%
  \usebibmacro{series+number}%
  \newunit\newblock
   \printfield{note}%
  \newunit\newblock
  \printfield{edition}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
%   \printfield{pagetotal}
%   \newunit\newblock
%  \printfield{isbn}%
%  \newunit\newblock
%  \printfield{doi}%
%  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \addcomma\addspace%			<-- 'zitiert als: Bearbeiter in XYZ' 
  \mkbibemph{%
    zitiert\addnbspace%  			<-- 
    als\addcolon\addspace%      			<--
    Bearbeiter\addcomma}%			<--
  \usebibmacro{in:}%
  \iffieldundef{shorthand}%
    {%
      \setboolean{zitiertals}{true}%
      \printnames{labelname}%
      \setboolean{zitiertals}{false}%
    }%
    {\printfield{shorthand}}%
  \usebibmacro{finentry}}%


% LitVerz-Format von Parlaments- und Verwaltungsvorschriften
\DeclareBibliographyDriver{legal}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \newunit
  \usebibmacro{namex}%				<-- Begr. u� als Autoren
  \usebibmacro{editorx}%			<-- Begr. u� als Hrsg.
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
%  \printlist{language}%
%  \newunit\newblock
  \usebibmacro{volumes+volume+part}%
  \setunit{\addspace}%
  \usebibmacro{series+number}%
  \newunit\newblock
   \printfield{note}%
  \newunit\newblock
  \printfield{edition}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
%   \printfield{pagetotal}
%   \newunit\newblock
%  \printfield{isbn}%
%  \newunit\newblock
%  \printfield{doi}%
%  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \addcomma\addspace%			<-- 'zitiert als: Bearbeiter in XYZ' 
  \mkbibemph{%
    zitiert\addnbspace%  			<-- 
    als\addcolon\addspace%      			<--
    Bearbeiter\addcomma}%			<--
  \usebibmacro{in:}%
  \iffieldundef{shorthand}%
    {%
      \setboolean{zitiertals}{true}%
      \printnames{labelname}%
      \setboolean{zitiertals}{false}%
    }%
    {\printfield{shorthand}}%
  \usebibmacro{finentry}}%


% LitVerz-Format von B�chern  
% Ein 'zitiert als:' bei B�chern, wenn vom gleichen Autor mehrere Werke zitiert werden
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \newunit
  \usebibmacro{namex}%				<-- Begr. u� als Autoren
  \usebibmacro{editorx}%			<-- Begr. u� als Hrsg.
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \usebibmacro{volumes+volume+part}%
  \setunit{\addspace}%
  \usebibmacro{series+number}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \printfield{addendum}%
  \newunit\newblock%
  \ifsingletitle{}{% 			<-- Bei mehreren Titeln des gleichen Autors wird ein 
    \addcomma\addspace%			<-- 'zitiert als:' eingef�gt und danach die Zitation
    \textit{zitiert}%  			<-- mit shorttitle/title ausgegeben
    \addnbspace%       			<--
    \textit{als}%      			<--
    \addcolon%         			<--
    \addnbspace%      			<--
    \printnames{labelname}%	 	<--
    \addcomma%					<--
    \addnbspace%				<--
    \iffieldundef{shorttitle}% 	<--   
      {\printfield{title}}%		<--
      {\printfield{shorttitle}% <--
    }%							<--
  }%  
  \newunit\newblock
  \usebibmacro{finentry}}%

% LitVerz-Format von Periodika
\DeclareBibliographyDriver{periodical}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \usebibmacro{byauthor}%
%  \newunit
%  \printlist{language}%
  \newunit\newblock%
  \printfield{journaltitle}%
  \setunit*{\addspace}%
  \printfield{volume}%
  \addspace%
  \mkbibparens{\printfield{year}}%
  \newunit\newblock% 
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock%
  \addcomma\addspace 
  \pno\ppspace\printfield{pages}
  \newunit\newblock
%  \printfield{issn}%
%  \newunit\newblock
%  \printfield{doi}%
%  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  %\usebibmacro{pageref}%
  \usebibmacro{finentry}}%

% LitVerz-Format von Festschriften
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{in:}%
%   \ifnamexref{labelname}%
% 	  {\global\bbx@xrefnoidemfalse}%
% 	  {\global\bbx@xrefnoidemtrue%
% 	   \global\cbx@xrefnoidemtrue}%
% 	\iffieldundef{xref}%
	  {% Code, wenn kein xref vorhanden
%      \ifbool{bbx@edbeforetitle}%
%		    {\usebibmacro{editorincoll}%
%		     \setunit{\labelnamepunct}\newblock}%
%		    {}%
		\usebibmacro{editorincoll}
		  \newunit
		  \usebibmacro{maintitle+booktitle}%
		  \newunit
		  \printlist{language}%
		  \newunit\newblock
		%  \usebibmacro{byeditor+others}%
		%  \newunit\newblock
		  \printfield{edition}%
		%  \newunit
      \usebibmacro{volumes+volume+part}%
		  \setunit{\addspace}%
		%  \newunit\newblock
		  \usebibmacro{series+number}%
		  \newunit\newblock%
		  \printfield{note}%
		  \newunit\newblock%
		  \usebibmacro{publisher+location+date}%
		  \newunit\newblock%
		  \pno\ppspace\printfield{pages}%	<--- Seitenzahl mit S.
		  \newunit\newblock%
		  \usebibmacro{url+urldate}%
		  \newunit\newblock%
		  \printfield{addendum}}%
% 	  {\ifbool{bbx@edbeforetitle}
% 	     {\global\cbx@xrefebttrue}%
% 	     {\global\cbx@xrefebtfalse}%
% 	   \bbx@xref{\thefield{xref}}% xref
% 	   \ifbool{cbx@xref}%
% 	     {}%
% 	     {\iffieldundef{pages}%
% 	       {}%
% 	       {\addcomma%
% 	        \printfield{pages}}}}%
    \addcomma\addspace%				<-- 'zitiert als:' eingef�gt und danach die Zitation
    \textit{zitiert}%  				<-- mit shorttitle/title ausgegeben
    \addnbspace%       				<--
    \textit{als}%      				<--
    \addcolon%         				<--
    \addnbspace%      				<--
   	\printnames{labelname}%			<--
    \addcomma%						<--
    \addnbspace%					<--
    \iffieldundef{shorttitle}% 		<--   
      {\printfield{booktitle}}%		<--
      {\printfield{shorttitle}% 	<--
    }%								<--
  \usebibmacro{finentry}}

% LitVerz-Format von Sammelb�nden
\DeclareBibliographyDriver{inbook}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{in:}%
%   \ifnamexref{labelname}%
% 	  {\global\bbx@xrefnoidemfalse}%
% 	  {\global\bbx@xrefnoidemtrue%
% 	   \global\cbx@xrefnoidemtrue}%
% 	\iffieldundef{xref}%
	  {% Code, wenn kein xref vorhanden
%      \ifbool{bbx@edbeforetitle}%
%		    {\usebibmacro{editorincoll}%
%		     \setunit{\labelnamepunct}\newblock}%
%		    {}%
		\usebibmacro{editorincoll}
		  \newunit
		  \usebibmacro{maintitle+booktitle}%
		  \newunit
		  \printlist{language}%
		  \newunit\newblock
		%  \usebibmacro{byeditor+others}%
		%  \newunit\newblock
		  \printfield{edition}%
		%  \newunit
      \usebibmacro{volumes+volume+part}%
		  \setunit{\addspace}%
		%  \newunit\newblock
		  \usebibmacro{series+number}%
		  \newunit\newblock
		  \printfield{note}%
		  \newunit\newblock
		  \usebibmacro{publisher+location+date}%
		  \newunit\newblock
		  \pno\ppspace\printfield{pages}%	<--- Seitenzahl mit S.
		  \newunit\newblock
		  \usebibmacro{url+urldate}%
		  \newunit\newblock
		  \printfield{addendum}}%
% 	  {\ifbool{bbx@edbeforetitle}
% 	     {\global\cbx@xrefebttrue}%
% 	     {\global\cbx@xrefebtfalse}%
% 	   \bbx@xref{\thefield{xref}}% xref
% 	   \ifbool{cbx@xref}%
% 	     {}%
% 	     {\iffieldundef{pages}%
% 	       {}%
% 	       {\addcomma%
% 	        \printfield{pages}}}}%
    \addcomma\addspace%				<-- 'zitiert als:' eingef�gt und danach die Zitation
    \textit{zitiert}%  				<-- mit shorttitle/title ausgegeben
    \addnbspace%       				<--
    \textit{als}%      				<--
    \addcolon%         				<--
    \addspace%      				<--
    \printnames{labelname}% 		<-- Autor
    \addcomma\addspace%				<--
	\usebibmacro{in:}%				<-- in:
    \addnbspace%					<--
    \iffieldundef{shorttitle}% 		<-- Titel
      {\printfield{booktitle}}%		<-- 
      {\printfield{shorttitle}% 	<--
    }%								<--
  \usebibmacro{finentry}}
  
% Idem-Funktion falls Festschriftautor und Herausgeber identisch
\newbibmacro*{editorincoll}{%
  \ifnameundef{editor}
    {}
    {\ifnamesequal{author}{editor}
      {\bibnamedash}
      {\printnames{editor}}%
     \usebibmacro{editorstringpunct}%
     \usebibmacro{editorstrg}%
     \ifbool{bbx:idembib}
       {}
       {\labelnamepunct}%
     \clearname{editor}}
    {}}

% Zitiert als: f�r F�lle, in denen die Zitationsweise vom Standard abweicht
% Vor und nach dem Schr�gstrich soll bei zitiert als: im LitVerz kein Leerzeichen sein. 
\newboolean{zitiertals}
\setboolean{zitiertals}{false}

% Anderer Namensabstand im Falle abweichender Zitationsweise
\renewcommand*{\bibmultinamedelim}{%
  \ifbool{zitiertals}%
    {\ifnum\value{liststop}>2 \finalandcomma\fi
      \unspace\rmfamily{\slash}\unspace}%
    {\ifnum\value{liststop}>2 \finalandcomma\fi
      \addspace\rmfamily{\slash}\addspace}}%
	  
\renewcommand*{\bibfinalnamedelim}{%
  \ifbool{zitiertals}%
    {\ifnum\value{liststop}>2 \finalandcomma\fi
      \unspace\rmfamily{\slash}\unspace}%
    {\ifnum\value{liststop}>2 \finalandcomma\fi
      \addspace\rmfamily{\slash}\addspace}}%

% Verschiedene Hrsg. u. Begr. etc f�r einen Titel
\newbibmacro*{editorx}{%
  \ifnameundef{editora}{}{%
    \newunit\setunit{\multinamedelim}%
    \printnames{editora}%
    \usebibmacro{editorxstrg}{editora}%
	\global\undef\bbx@lasthash}%
  \ifnameundef{editorb}{}{%
    \newunit\setunit{\multinamedelim}%
    \printnames{editorb}%
    \usebibmacro{editorxstrg}{editorb}
	\global\undef\bbx@lasthash}%
  \ifnameundef{editorc}{}{%
    \newunit\setunit{\multinamedelim}
	\printnames{editorc}%
    \usebibmacro{editorxstrg}{editorc}
	\global\undef\bbx@lasthash}%
}
	  
\newbibmacro*{namex}{%	  
  \ifnameundef{namea}{}{%
    \newunit\setunit{\multinamedelim}%
    \printnames{namea}%
	\addnbspace%
    \usebibmacro{namexstrg}{namea}
	\global\undef\bbx@lasthash}%
  \ifnameundef{nameb}{}{%
    \newunit\setunit{\multinamedelim}%
    \printnames{nameb}%
	\addnbspace%
    \usebibmacro{namexstrg}{nameb}
	\global\undef\bbx@lasthash}%
  \ifnameundef{namec}{}{%
    \newunit\setunit{\multinamedelim}%
	\printnames{namec}%
	\addnbspace%
    \usebibmacro{namexstrg}{namec}
	\global\undef\bbx@lasthash}%
}%

% Verschiedene Hrsg. u. Begr. etc f�ür ein Werk
\newbibmacro*{editorxstrg}[1]{%
  \iffieldundef{#1type}
    {\ifthenelse{\value{#1}>1\OR\ifandothers{#1}}
       {\bbx@editorstring{\bibstring{#1s}}}
       {\bbx@editorstring{\bibstring{#1}}}}
    {\ifthenelse{\value{#1}>1\OR\ifandothers{#1}}
       {\bbx@editorstring{\bibstring{\thefield{#1type}s}}}
       {\bbx@editorstring{\bibstring{\thefield{#1type}}}}}}

% Verschiedene Autoren auch als Begr. u�.
\newbibmacro*{namexstrg}[1]{%
  \iffieldundef{#1type}
    {}
    {\ifthenelse{\value{#1}>1\OR\ifandothers{#1}}
       {\bbx@editorstring{\bibstring{\thefield{#1type}s}}}
       {\bbx@editorstring{\bibstring{\thefield{#1type}}}}}}

% Begr. u�. bei Autoren in den gleichen Klammern, wie editor.
\DeclareFieldFormat{authortype}{\bbx@editorstring{#1}} 

% Gleiche Reihenfolge von Vor- und Nachnamen bei name[a-c]
\DeclareNameAlias{namea}{author}
\DeclareNameAlias{nameb}{author}
\DeclareNameAlias{namec}{author}

% Kein Komma zwischen Autor und Begr. u�
\renewbibmacro*{author:output}{%
  \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}
    {\ifbool{bbx:idembib}
      {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND
                   \NOT\iffirstonpage}
        {\bibnamedash}
        {\printnames{author}%
         \savefield{namehash}{\bbx@lasthash}}}
      {\printnames{author}%
       \global\undef\bbx@lasthash}%
  \iffieldundef{authortype}
    {}
    {\usebibmacro{authorstrg}}}%			<-- 
  {}}
	   
% LitVerz-Format von Online-Quellen  
\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock%
  \textit{\printtext{abrufbar unter}}\addcolon\space
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  %\usebibmacro{pageref}%
  \iffieldundef{shorttitle}{%
    \ifsingletitle{}{% 				<-- Bei mehreren Titeln des gleichen Autors wird ein 
      \addcomma\addspace%			<-- 'zitiert als:' eingef�gt und danach die Zitation
      \textit{zitiert}%  			<-- mit shorttitle/title ausgegeben
      \addnbspace%       			<--
      \textit{als}%      			<--
      \addcolon%         			<--
      \addnbspace%      			<--
      \printnames{labelname}%	 	<--
      \addcomma%					<--
      \addnbspace%					<--
      \printfield{title}}}%			<--
    {\addcomma\addspace%			<-- 'zitiert als:' eingef�gt und danach die Zitation
    \textit{zitiert}%  				<--  mit shorttitle ausgegeben, falls vorhanden
    \addnbspace%       				<--
    \textit{als}%      				<--
    \addcolon%         				<--
    \addnbspace%      				<--
    \printnames{labelname}%			<--
    \addcomma%						<--
    \addnbspace%					<--
	\printfield{shorttitle}}%		<--
  \usebibmacro{finentry}%
}

% Damit kein URL: vor der Adresse erscheint
\DeclareFieldFormat{url}{\url{#1}}

% Statt "besucht am" soll "abgerufen am" vor dem Datum des letzten Abrufs stehen
\DefineBibliographyStrings{german}{urlseen = {abgerufen am}}%

\endinput