Idem bei mehr als 3 Autoren im Lit.-Verzeichnis falsch

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Scissorsweep
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 3. Jan 2015, 22:44

Idem bei mehr als 3 Autoren im Lit.-Verzeichnis falsch

Beitrag von Scissorsweep »

Hallo,

habe folgendes Problem (vgl. Mini-Bsp.): Wenn ich zwei Werke zitiere, die jeweils mehr als 3 Autoren haben, bei welchen nur die erste Autorin gleich ist, steht "Dies." im Literaturverzeichnis - es müssten aber alle Namen aufgelistet werden, weil ja nur die erste Autorin dieselbe ist:


Das Ergebnis sieht dann (falsch) so aus:
Bertschek, Irene / Mouse, Mickey / Duck, Donald / Gans, Gustav, Monitoring zu ausgewählten wirtschaftlichen Eckdaten der Kultur- und Kreativwirtschaft 2014, Berlin 2016, zitiert als: Bertschek / Mouse / Duck / Gans, Monitoring 2014.

Dies., Monitoring zu ausgewählten wirtschaftlichen Eckdaten der Kultur- und Kreativ- wirtschaft 2013, Berlin 2015, zitiert als: Bertschek / Müller / Meier / Schulz, Monitoring 2013.
\documentclass{scrbook}
\usepackage{filecontents}
\usepackage[backend=biber,
style=biblatex-juradiss,
maxcitenames=3,
maxbibnames=99,
firstnamefont=italic,
idembib=true,
edbyidem=true,
ibidtracker=false,
citetracker=true,
ibidemfont=italic,
idemfont=italic]{biblatex}
\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
   


@book{monitoring_14,
	author = {Bertschek, Irene and Mouse, Mickey and Duck, Donald and Gans, Gustav},
	location = {Berlin},
	year = {2016},
	title = {Monitoring zu ausgewählten wirtschaftlichen Eckdaten der Kultur- und Kreativwirtschaft 2014},
	shorttitle = {Monitoring 2014},
	gender = {pm}
}

@book{monitoring_13,
	author = {Bertschek, Irene and Müller, Mike and Meier, Sepp and Schulz, Stefan},
	location = {Berlin},
	year = {2015},
	title = {Monitoring zu ausgewählten wirtschaftlichen Eckdaten der Kultur- und Kreativwirtschaft 2013},
	shorttitle = {Monitoring 2013},
	gender = {pm}
}
   
\end{filecontents}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage{alnumsec}
\begin{document}
\pagestyle{empty}
\tableofcontents
\newpage
\chapter{erstes Kapitel}
\section{Rechtsprechung seit 2002}


Text2\footcite[45]{monitoring_13}

Text2\footcite[46]{monitoring_14}


\printbibliography
\end{document}

Scissorsweep
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 3. Jan 2015, 22:44

Beitrag von Scissorsweep »

Hat denn keiner eine Idee?

Gast

Beitrag von Gast »

Das Problem ist, dass biblatex-juradiss inzwischen schon so alt ist, dass es mit aktuellen Versionen von biblatex gar nicht mehr kompatibel ist. Dein Beispiel bekomme ich mit einem aktuellen System gar nicht mehr zum Fliegen. (Siehe auch http://golatex.de/backend-undefined-bei ... 18365.html)

Mit der Zeit wird das wohl nicht besser werden, wenn biblatex-juradiss keine Updates mehr bekommt. Daher solltest Du wohl darüber nachdenken, auf einen anderen Stil umzusteigen. (Was ein Problem sein kann, denn viele funktionierende Jura-Stile gibt es glaube ich nicht.)

Soweit ich das sehe liegt das Problem darin, dass biblatex-juradiss und authortitle-dw gegen namehash statt fullhash prüfen. Dadurch wird für zu lange Listen von Namen nicht akkurat erkannt, ob sie dieselbe sind oder nicht.

Für Dein Problem reicht
\newbibmacro*{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}
    {}
    {\setunit{\addcomma\space}%
     \usebibmacro{authorstrg}}}
  {}}
Soweit ich das sehe, musst Du für eine echte Lösung mindestens
\makeatletter
\renewbibmacro*{editor}{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifbool{bbx:idembib}
      {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                   \NOT\iffirstonpage}
         {\bibnamedash}
         {\printnames{editor}%
          \savefield{fullhash}{\bbx@lasthash}}}%
      {\printnames{editor}%
       \global\undef\bbx@lasthash}%
     \usebibmacro{editorstringpunct}%
     \usebibmacro{editorstrg}%
     \ifbool{bbx:idembib}
       {}
       {\labelnamepunct}%
     \clearname{editor}}
    {}}

\renewbibmacro*{editor+others}{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifbool{bbx:idembib}
      {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                   \NOT\iffirstonpage}
         {\bibnamedash}
         {\printnames{editor}%
          \savefield{fullhash}{\bbx@lasthash}}}%
      {\printnames{editor}}%
     \usebibmacro{editorstringpunct}%
     \usebibmacro{editor+othersstrg}%
     \ifbool{bbx:idembib}
       {}
       {\labelnamepunct}%
     \clearname{editor}}
    {\global\undef\bbx@lasthash}}

\renewbibmacro*{translator}{%
  \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
    {\ifbool{bbx:idembib}
      {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                   \NOT\iffirstonpage}
         {\bibnamedash}
         {\printnames{translator}%
          \savefield{fullhash}{\bbx@lasthash}}}%
      {\printnames{translator}}%
     \usebibmacro{editorstringpunct}%
     \usebibmacro{translatorstrg}%
     \ifbool{bbx:idembib}
       {}
       {\labelnamepunct}%
     \clearname{translator}}
    {\global\undef\bbx@lasthash}}

\renewbibmacro*{translator+others}{%
  \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
    {\ifbool{bbx:idembib}
      {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                   \NOT\iffirstonpage}
         {\bibnamedash}
         {\printnames{translator}%
          \savefield{fullhash}{\bbx@lasthash}}}%
      {\printnames{translator}}%
     \usebibmacro{editorstringpunct}%
     \usebibmacro{translator+othersstrg}%
     \ifbool{bbx:idembib}
       {}
       {\labelnamepunct}%
     \clearname{translator}}
    {\global\undef\bbx@lasthash}}

\renewbibmacro*{author:output}{%
  \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}
    {\ifbool{bbx:idembib}
      {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                   \NOT\iffirstonpage}
        {\bibnamedash}
        {\printnames{author}%
         \savefield{fullhash}{\bbx@lasthash}}}
      {\printnames{author}%
       \global\undef\bbx@lasthash}%
  \iffieldundef{authortype}
    {}
    {\setunit{\addcomma\space}%
     \usebibmacro{authorstrg}}}
  {}}

\renewbibmacro*{useeditor}{%
  \ifnamesequal{author}{editor}
    {\ifbool{bbx:edbyidem}
      {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}%
       \addspace}%
      {\printnames[byeditor]{editor}%
       \usebibmacro{editorstringpunct}%
       \savefield{fullhash}{\bbx@lasthash}}}%
    {\printnames[byeditor]{editor}%
     \usebibmacro{editorstringpunct}%
     \savefield{fullhash}{\bbx@lasthash}}%
   \usebibmacro{editorstrg}%
   \clearname{editor}%
   \setunit{\labelnamepunct}\newblock}

\renewbibmacro*{usetranslator}{%
  \ifnamesequal{author}{translator}
    {\ifbool{bbx:edbyidem}
      {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}%
       \addspace}%
      {\printnames[byeditor]{translator}%
       \usebibmacro{editorstringpunct}%
       \savefield{fullhash}{\bbx@lasthash}}}%
    {\printnames[byeditor]{translator}%
     \usebibmacro{editorstringpunct}%
     \savefield{fullhash}{\bbx@lasthash}}%
   \usebibmacro{translatorstrg}%
   \clearname{translator}%
   \setunit{\labelnamepunct}\newblock}
\makeatother
haben.

Scissorsweep
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Sa 3. Jan 2015, 22:44

Beitrag von Scissorsweep »

Vielen herzlichen Dank für die Hilfe - die 'long version' funktioniert in meinem Fall.

Dass mein Stil veraltet ist, weiß ich leider ... deshalb update ich auch nicht mehr.

Antworten