% authoryear-luh-ipw.bbx, Oliver Heins (oheins@sopos.org) 2012--2013

\ProvidesFile{authoryear-luh-ipw.bbx}[2013/11/18 v0.3 bibliography style for use with biblatex 2.x]

\RequireBibliographyStyle{authoryear-icomp}
\RequireBibliographyStyle{standard-luh-ipw}

\newtoggle{bbx:parensyear}
\DeclareBibliographyOption{yearinparens}[true]{%
  \settoggle{bbx:parensyear}{#1}}
\DeclareBibliographyOption{yearnotinparens}[true]{% Deprecated, use
  \settoggle{bbx:parensyear}{#1}% option yearinparens instead
  \iftoggle{bbx:parensyear}
    {\settoggle{bbx:parensyear}{false}}
    {\settoggle{bbx:parensyear}{true}}}

\ExecuteBibliographyOptions{yearinparens=true,
                            yearnotinparens=false}

%% Klammern um das Jahr optional ausschalten
\def\bbx@opt@mergedate@maximum{%
  \renewbibmacro*{date+extrayear}{%
    \iffieldundef{year}
      {}
      {\iftoggle{bbx:parensyear}
         {\printtext[parens]{%
         \printfield{issue}%
	 \setunit*{\addspace}%
	 \printdateextra}}
         {\printfield{issue}%
	 \setunit*{\addspace}%
	 \printdateextra}}}%
  \renewbibmacro*{date}{}%
  \renewbibmacro*{issue+date}{}%
}

\def\bbx@opt@mergedate@compact{%
  \renewbibmacro*{date+extrayear}{%
    \iffieldundef{year}
      {}
      {\iftoggle{bbx:parensyear}
         {\printtext[parens]{\printdateextra}}
         {\printdateextra}}}%
  \renewbibmacro*{date}{}%
  \renewbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {}
      {\printfield{issue}}
    \newunit}%
}

\def\bbx@opt@mergedate@basic{%
  \renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\iftoggle{bbx:parensyear}
         {\printtext[parens]{%
             \printfield{labelyear}%
             \printfield{extrayear}}}
         {\printfield{labelyear}%
          \printfield{extrayear}}}}%
  \renewbibmacro*{date}{%
    \iffieldundef{month}
      {}
      {\printdate}}%
  \renewbibmacro*{issue+date}{%
    \ifboolexpr{
      test {\iffieldundef{issue}}
      and
      test {\iffieldundef{month}}
    }
      {}
      {\printtext[parens]{%
	 \printfield{issue}%
	 \setunit*{\addspace}%
	 \printdate}}%
    \newunit}%
}

\def\bbx@opt@mergedate@minimum{%
  \renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\iftoggle{bbx:parensyear}
         {\printtext[parens]{%
             \printfield{labelyear}%
             \printfield{extrayear}}}
         {\printfield{labelyear}%
          \printfield{extrayear}}}}%
  \renewbibmacro*{date}{%
    \ifboolexpr{
      test {\iffieldundef{month}}
      and
      test {\iffieldundef{extrayear}}
    }
      {}
      {\printdate}}%
  \renewbibmacro*{issue+date}{%
    \ifboolexpr{
      test {\iffieldundef{issue}}
      and
      test {\iffieldundef{month}}
      and
      test {\iffieldundef{extrayear}}
    }
      {}
      {\printtext[parens]{%
	 \printfield{issue}%
	 \setunit*{\addspace}%
	 \printdate}}%
    \newunit}%
}

\def\bbx@opt@mergedate@false{%
  \renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\iftoggle{bbx:parensyear}
         {\printtext[parens]{%
             \printfield{labelyear}%
             \printfield{extrayear}}}
         {\printfield{labelyear}%
          \printfield{extrayear}}}}%
  \renewbibmacro*{date}{\printdate}%
  \renewbibmacro*{issue+date}{%
    \printtext[parens]{%
      \printfield{issue}%
      \setunit*{\addspace}%
      \printdate}%
    \newunit}%
}

\ExecuteBibliographyOptions{mergedate}

% Neue bibmacros

\newbibmacro*{inparencite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\addspace}}
       {\printnames{labelname}%
        \addspace}%
     \mkbibparens{%
       \usebibmacro{cite:labelyear+extrayear}%
       \setunit{\addcomma\addspace}
       \usebibmacro{postnote}}}
    {\mkbibparens{%
       \usebibmacro{cite:shorthand}%
       \setunit{\addcomma\addspace}
       \usebibmacro{postnote}}}}

% Neue cite-Kommandos

\DeclareCiteCommand{\inparencite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{inparencite}}
  {\multicitedelim}
  {}



\endinput
