0

This question is related to the question bibliography-specific formatting of multiple book entries for same author, which has a really nice solution, but when applied to my data, there is a strange quirk related to the author.

The first entry of the bibliography list for one author should also appear in the same formatting as the second, third..., i.e. it should start in the line below the author and have a dash in front of it. This should only happen for the specially formatted bibliography. However, with the bibliography used below, the solution presented in bibliography-specific formatting of multiple book entries for same author gives strange results. Why is this so?

Here is the working example:

\documentclass{article}

\usepackage[style=authortitle-dw,
edsuper=true,
namefont=smallcaps,
useprefix=true,
ibidemfont=smallcaps,
idemfont=smallcaps,
idembibformat=dash,
shorthandibid=true,
backref=false,
backrefstyle=none,
isbn=false,
backend=biber,
edstringincitations=false,
bibencoding=utf8,
minxrefs=2]{biblatex}
\listfiles
\usepackage{filecontents}

\begin{filecontents}{quellen.bib}
@book{wendearchivderuniversitatrostock7.12.1989,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 7.12.1989 zu Jes 43,1-3a},
    address = {Rostock},
    shorttitle = {Predigt am 7.12.1989}
}


@book{wendearchivderuniversitatrostock8.2.1990,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 8.2.1990 zu Lk 9,61.62 und Mt 13,31f.},
    address = {Rostock},
    shorttitle = {Predigt am 8.2.1990}
}


@book{wendearchivderuniversitatrostock9.11.1989,
    author = {Gauck, Joachim and others},
    year = {9}, month = {1}, day = {9},
    title = {Predigt in der Rostocker Donnerstagsandacht am 9.11.1989 zu Lk 7,11-16; 1. Joh 3,18f.},
    address = {Rostock},
    shorttitle = {Predigt am 9.11.1989}
}
@book{wendearchivderuniversitatrostock26.10.1989,
    author = {Gauck, Joachim and Heldt, Thomas and Leefhelm, Kirsten},
    title = {Predigt in der Rostocker Donnerstagsandacht am 26.10.1989 zu Mt 5,44-47a},
    address = {Rostock},
    shorttitle = {Predigt am 26.10.1989}
}


@book{wendearchivderuniversitatrostock30.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 30.11.1989 zu Lk 21,34-36},
    address = {Rostock},
    shorttitle = {Predigt am 30.11.1989}
}
@book{wendearchivderuniversitatrostock23.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 23.11.1989 zu Jer 8,4-7},
    address = {Rostock},
    shorttitle = {Predigt am 23.11.1989}
}
@book{wendearchivderuniversitatrostock2.11.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 2.11.1989 zu Mt 7,15-17},
    address = {Rostock},
    shorttitle = {Predigt am 2.11.1989}
}
@book{wendearchivderuniversitatrostock19.10.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 19.10.1989 zu Amos 5,21-24},
    address = {Rostock},
    shorttitle = {Predigt am 19.10.1989}
}
@book{wendearchivderuniversitatrostock11.10.1990,
    author = {Gauck, Joachim and others},
    title = {Gottesdienst am 11.10.1990 in Rostock, St. Marien: Plakat und Presseerklärung},
    address = {Rostock},
    shorttitle = {Gottesdienst am 11.10.1990}
}


@book{wendearchivderuniversitatrostock14.12.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt am 14.12.1989 zu Lk 1,46-56},
    address = {Rostock},
    shorttitle = {Predigt am 14.12.1989}
}
@book{wendearchivderuniversitatrostock1.2.1990,
    author = {Gauck, Joachim and others},
    title = {Predigt am 1.2.1990 zu Ex 3,7.10-14},
    address = {Rostock},
    shorttitle = {Predigt am 1.2.1990}
}
\end{filecontents}

\begin{filecontents}{literatur.bib}
@book{1wendearchivderuniversitatrostock7.12.1989,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 7.12.1989 zu Jes 43,1-3a},
    address = {Rostock},
    shorttitle = {Predigt am 7.12.1989}
}


@book{1wendearchivderuniversitatrostock8.2.1990,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 8.2.1990 zu Lk 9,61.62 und Mt 13,31f.},
    address = {Rostock},
    shorttitle = {Predigt am 8.2.1990}
}


@book{1wendearchivderuniversitatrostock9.11.1989,
    author = {Gauck, Joachim and others},
    year = {9}, month = {1}, day = {9},
    title = {Predigt in der Rostocker Donnerstagsandacht am 9.11.1989 zu Lk 7,11-16; 1. Joh 3,18f.},
    address = {Rostock},
    shorttitle = {Predigt am 9.11.1989}
}
@book{1wendearchivderuniversitatrostock26.10.1989,
    author = {Gauck, Joachim and Heldt, Thomas and Leefhelm, Kirsten},
    title = {Predigt in der Rostocker Donnerstagsandacht am 26.10.1989 zu Mt 5,44-47a},
    address = {Rostock},
    shorttitle = {Predigt am 26.10.1989}
}


@book{1wendearchivderuniversitatrostock30.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 30.11.1989 zu Lk 21,34-36},
    address = {Rostock},
    shorttitle = {Predigt am 30.11.1989}
}
@book{1wendearchivderuniversitatrostock23.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 23.11.1989 zu Jer 8,4-7},
    address = {Rostock},
    shorttitle = {Predigt am 23.11.1989}
}
@book{1wendearchivderuniversitatrostock2.11.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 2.11.1989 zu Mt 7,15-17},
    address = {Rostock},
    shorttitle = {Predigt am 2.11.1989}
}
@book{1wendearchivderuniversitatrostock19.10.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 19.10.1989 zu Amos 5,21-24},
    address = {Rostock},
    shorttitle = {Predigt am 19.10.1989}
}
@book{1wendearchivderuniversitatrostock11.10.1990,
    author = {Gauck, Joachim and others},
    title = {Gottesdienst am 11.10.1990 in Rostock, St. Marien: Plakat und Presseerklärung},
    address = {Rostock},
    shorttitle = {Gottesdienst am 11.10.1990}
}


@book{1wendearchivderuniversitatrostock14.12.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt am 14.12.1989 zu Lk 1,46-56},
    address = {Rostock},
    shorttitle = {Predigt am 14.12.1989}
}
@book{1wendearchivderuniversitatrostock1.2.1990,
    author = {Gauck, Joachim and others},
    title = {Predigt am 1.2.1990 zu Ex 3,7.10-14},
    address = {Rostock},
    shorttitle = {Predigt am 1.2.1990}
}
\end{filecontents}

\addbibresource{literatur.bib}
\addbibresource{quellen.bib}

\DeclareSourcemap{
    \maps[datatype=bibtex]{
        \map{
            \perdatasource{quellen.bib}
            \step[fieldset=keywords, fieldvalue={quellen}]
        }
        \map{
            \perdatasource{literatur.bib}
            \step[fieldset=keywords, fieldvalue={literatur}]
            \step[fieldset=options, fieldvalue={,}, append]
            \step[fieldsource=options, notmatch=\regexp{.*useauthor\s*=\s*false.*}, final]
            \step[fieldsource=author, match=\regexp{(.*)}, final]
            \step[entrynew={$1}, entrynewtype=specialauthor]
            \step[entrytarget={$1}, fieldset={author}, fieldvalue={$1}]
            \step[entrytarget={$1}, fieldset={keywords}, fieldvalue={literatur}]
            \step[fieldset=xref, fieldvalue={$1}]
        }
        \map{
            \perdatasource{literatur.bib}
            \step[notfield=author, final]
            \step[fieldset=options, fieldvalue={,}, append]
            \step[fieldsource=options, notmatch=\regexp{.*useeditor\s*=\s*false.*}, final]
            \step[fieldsource=editor, match=\regexp{(.*)}, final]
            \step[entrynew={$1}, entrynewtype=specialauthor]
            \step[entrytarget={$1}, fieldset={editor}, fieldvalue={$1}]
            \step[entrytarget={$1}, fieldset={keywords}, fieldvalue={literatur}]
            \step[fieldset=xref, fieldvalue={$1}]
        }
        \map{
            \perdatasource{literatur.bib}
            \step[notfield=author, final]
            \step[notfield=editor, final]
            \step[fieldset=options, fieldvalue={,}, append]
            \step[fieldsource=options, notmatch=\regexp{.*usetranslator\s*=\s*false.*}, final]
            \step[fieldsource=options, match=\regexp{.*usetranslator.*}, final]
            \step[fieldsource=translator, match=\regexp{(.*)}, final]
            \step[entrynew={$1}, entrynewtype=specialauthor]
            \step[entrytarget={$1}, fieldset={translator}, fieldvalue={$1}]
            \step[entrytarget={$1}, fieldset={options}, fieldvalue={usetranslator=true}]
            \step[entrytarget={$1}, fieldset={keywords}, fieldvalue={literatur}]
            \step[fieldset=xref, fieldvalue={$1}]
        }
    }
}

\DeclareBibliographyDriver{specialauthor}{%
    \renewcommand*{\finentrypunct}{\addcolon}%
    \ifbool{cbx:idemfull}
    {}
    {\usebibmacro{author/editor+others/translator+others}%
        \ifnameundef{labelname}
        {}
        {\setunit{\labelnamepunct}\newblock}}%
    \usebibmacro{finentry}}

\makeatletter
\AtEveryBibitem{%
    \ifboolexpr{
        test {\ifkeyword{literatur}}
        and
        not test {\ifentrytype{specialauthor}}
        and
        test {\iffieldequals{namehash}{\bbx@lasthash}}
        and
        not test {\iffirstonpage}
    }
    {\renewbibmacro*{translator+othersstrg}{}%
        \renewbibmacro*{editor+othersstrg}{}}
    {}}
\makeatother

\pagestyle{empty}
\begin{document}
    \cite{1wendearchivderuniversitatrostock7.12.1989,1wendearchivderuniversitatrostock8.2.1990,1wendearchivderuniversitatrostock9.11.1989,1wendearchivderuniversitatrostock26.10.1989,1wendearchivderuniversitatrostock30.11.1989,1wendearchivderuniversitatrostock23.11.1989,1wendearchivderuniversitatrostock2.11.1989,1wendearchivderuniversitatrostock19.10.1989,1wendearchivderuniversitatrostock11.10.1990,1wendearchivderuniversitatrostock14.12.1989,1wendearchivderuniversitatrostock1.2.1990},
    \cite{wendearchivderuniversitatrostock7.12.1989,wendearchivderuniversitatrostock8.2.1990,wendearchivderuniversitatrostock9.11.1989,wendearchivderuniversitatrostock26.10.1989,wendearchivderuniversitatrostock30.11.1989,wendearchivderuniversitatrostock23.11.1989,wendearchivderuniversitatrostock2.11.1989,wendearchivderuniversitatrostock19.10.1989,wendearchivderuniversitatrostock11.10.1990,wendearchivderuniversitatrostock14.12.1989,wendearchivderuniversitatrostock1.2.1990}
    \printbibliography[keyword=literatur,title=Specially formatted bibliography]
    \printbibliography[keyword=quellen,title=Plain old'n sturdy bibliography]
\end{document}

And an image of the resulting specially formatted bibliography, with the same author name appearing multiple times.

enter image description here

  • The problem is that author = {Gauck, Joachim} and author = {Gauck, Joachim and others}, i.e. 'Joachim Gauck' and 'Joachim Gauck et al.' sort as the same name. So all the boxed names in your example sort as the same name, that means that the title is used to determine the exact sorting, and that is where your observations come from. – moewe Jul 29 '17 at 12:56
  • It's to do with how biblatex is sorting authors with and others. Somehow you need to tell biblatex to put all titles by "Gauck, Joachin" before all titles by "Gauck, Joachin, et al". – David Purton Jul 29 '17 at 13:02
  • @moewe, do you know how to get around this? – David Purton Jul 29 '17 at 13:03
  • Since BibTeX sorts names with and others separate from names without, I have opened an issue over at the Biber bugtracker github.com/plk/biber/issues/177 – moewe Jul 29 '17 at 13:03
  • 2
    This was a bug in the biber sorting algorithm and should be fixed in the current 2.8 DEV version. – PLK Jul 29 '17 at 17:17
3

As explained in the comments this is due to the fact that Biber v. <= 2.7 treated author = {Gauck, Joachim} and author = {Gauck, Joachim and others} the same for sorting purposes, so 'Joachim Gauck' and 'Joachim Gauck et al.' sort as the same name.

This is undesirable and is fixed in version 2.8 of Biber, where the two lists will sort as different names. See https://github.com/plk/biber/issues/177

The following almost works with Biber 2.7. It basically checks if a name contains and others and in that case appends an appropriate sortname, so that the entry sorts separate from names without and others. Unfortunately, there seems to be a slight problem with namehash and and others. The bibliography should probably use fullhash and not namehash for dashing.

\documentclass{article}

\usepackage[style=authortitle-dw,
edsuper=true,
namefont=smallcaps,
useprefix=true,
ibidemfont=smallcaps,
idemfont=smallcaps,
idembibformat=dash,
shorthandibid=true,
backref=false,
backrefstyle=none,
isbn=false,
backend=biber,
edstringincitations=false,
bibencoding=utf8,
minxrefs=2]{biblatex}
\listfiles
\usepackage{filecontents}

\begin{filecontents}{quellen.bib}
@book{wendearchivderuniversitatrostock7.12.1989,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 7.12.1989 zu Jes 43,1-3a},
    address = {Rostock},
    shorttitle = {Predigt am 7.12.1989}
}


@book{wendearchivderuniversitatrostock8.2.1990,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 8.2.1990 zu Lk 9,61.62 und Mt 13,31f.},
    address = {Rostock},
    shorttitle = {Predigt am 8.2.1990}
}


@book{wendearchivderuniversitatrostock9.11.1989,
    author = {Gauck, Joachim and others},
    year = {9}, month = {1}, day = {9},
    title = {Predigt in der Rostocker Donnerstagsandacht am 9.11.1989 zu Lk 7,11-16; 1. Joh 3,18f.},
    address = {Rostock},
    shorttitle = {Predigt am 9.11.1989}
}
@book{wendearchivderuniversitatrostock26.10.1989,
    author = {Gauck, Joachim and Heldt, Thomas and Leefhelm, Kirsten},
    title = {Predigt in der Rostocker Donnerstagsandacht am 26.10.1989 zu Mt 5,44-47a},
    address = {Rostock},
    shorttitle = {Predigt am 26.10.1989}
}


@book{wendearchivderuniversitatrostock30.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 30.11.1989 zu Lk 21,34-36},
    address = {Rostock},
    shorttitle = {Predigt am 30.11.1989}
}
@book{wendearchivderuniversitatrostock23.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 23.11.1989 zu Jer 8,4-7},
    address = {Rostock},
    shorttitle = {Predigt am 23.11.1989}
}
@book{wendearchivderuniversitatrostock2.11.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 2.11.1989 zu Mt 7,15-17},
    address = {Rostock},
    shorttitle = {Predigt am 2.11.1989}
}
@book{wendearchivderuniversitatrostock19.10.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 19.10.1989 zu Amos 5,21-24},
    address = {Rostock},
    shorttitle = {Predigt am 19.10.1989}
}
@book{wendearchivderuniversitatrostock11.10.1990,
    author = {Gauck, Joachim and others},
    title = {Gottesdienst am 11.10.1990 in Rostock, St. Marien: Plakat und Presseerklärung},
    address = {Rostock},
    shorttitle = {Gottesdienst am 11.10.1990}
}


@book{wendearchivderuniversitatrostock14.12.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt am 14.12.1989 zu Lk 1,46-56},
    address = {Rostock},
    shorttitle = {Predigt am 14.12.1989}
}
@book{wendearchivderuniversitatrostock1.2.1990,
    author = {Gauck, Joachim and others},
    title = {Predigt am 1.2.1990 zu Ex 3,7.10-14},
    address = {Rostock},
    shorttitle = {Predigt am 1.2.1990}
}
\end{filecontents}

\begin{filecontents}{literatur.bib}
@book{1wendearchivderuniversitatrostock7.12.1989,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 7.12.1989 zu Jes 43,1-3a},
    address = {Rostock},
    shorttitle = {Predigt am 7.12.1989}
}


@book{1wendearchivderuniversitatrostock8.2.1990,
    author = {Gauck, Joachim and Schmachtel, Jochen and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 8.2.1990 zu Lk 9,61.62 und Mt 13,31f.},
    address = {Rostock},
    shorttitle = {Predigt am 8.2.1990}
}


@book{1wendearchivderuniversitatrostock9.11.1989,
    author = {Gauck, Joachim and others},
    year = {9}, month = {1}, day = {9},
    title = {Predigt in der Rostocker Donnerstagsandacht am 9.11.1989 zu Lk 7,11-16; 1. Joh 3,18f.},
    address = {Rostock},
    shorttitle = {Predigt am 9.11.1989}
}
@book{1wendearchivderuniversitatrostock26.10.1989,
    author = {Gauck, Joachim and Heldt, Thomas and Leefhelm, Kirsten},
    title = {Predigt in der Rostocker Donnerstagsandacht am 26.10.1989 zu Mt 5,44-47a},
    address = {Rostock},
    shorttitle = {Predigt am 26.10.1989}
}


@book{1wendearchivderuniversitatrostock30.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 30.11.1989 zu Lk 21,34-36},
    address = {Rostock},
    shorttitle = {Predigt am 30.11.1989}
}
@book{1wendearchivderuniversitatrostock23.11.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 23.11.1989 zu Jer 8,4-7},
    address = {Rostock},
    shorttitle = {Predigt am 23.11.1989}
}
@book{1wendearchivderuniversitatrostock2.11.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt in der Rostocker Donnerstagsandacht am 2.11.1989 zu Mt 7,15-17},
    address = {Rostock},
    shorttitle = {Predigt am 2.11.1989}
}
@book{1wendearchivderuniversitatrostock19.10.1989,
    author = {Gauck, Joachim},
    title = {Predigt in der Rostocker Donnerstagsandacht am 19.10.1989 zu Amos 5,21-24},
    address = {Rostock},
    shorttitle = {Predigt am 19.10.1989}
}
@book{1wendearchivderuniversitatrostock11.10.1990,
    author = {Gauck, Joachim and others},
    title = {Gottesdienst am 11.10.1990 in Rostock, St. Marien: Plakat und Presseerklärung},
    address = {Rostock},
    shorttitle = {Gottesdienst am 11.10.1990}
}


@book{1wendearchivderuniversitatrostock14.12.1989,
    author = {Gauck, Joachim and others},
    title = {Predigt am 14.12.1989 zu Lk 1,46-56},
    address = {Rostock},
    shorttitle = {Predigt am 14.12.1989}
}
@book{1wendearchivderuniversitatrostock1.2.1990,
    author = {Gauck, Joachim and others},
    title = {Predigt am 1.2.1990 zu Ex 3,7.10-14},
    address = {Rostock},
    shorttitle = {Predigt am 1.2.1990}
}
\end{filecontents}

\addbibresource{literatur.bib}
\addbibresource{quellen.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \perdatasource{quellen.bib}
      \step[fieldset=keywords, fieldvalue={quellen}]
    }
    \map{
      \perdatasource{literatur.bib}
      \step[fieldset=keywords, fieldvalue={literatur}]
      \step[fieldset=options, fieldvalue={,}, append]
      \step[fieldsource=options, notmatch=\regexp{.*useauthor\s*=\s*false.*}, final]
      \step[fieldsource=author, notmatch=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldsource=author, match=\regexp{(.*)}, final]
      \step[fieldset=xref, fieldvalue={$1}]
      \step[entrynew={$1}, entrynewtype=specialauthor]
      \step[entrytarget={$1}, fieldset={keywords}, fieldvalue={literatur}]
      \step[entrytarget={$1}, fieldset={author}, fieldvalue={$1}]
    }
    \map{
      \perdatasource{literatur.bib}
      \step[fieldset=keywords, fieldvalue={literatur}]
      \step[fieldset=options, fieldvalue={,}, append]
      \step[fieldsource=options, notmatch=\regexp{.*useauthor\s*=\s*false.*}, final]
      \step[fieldsource=author, match=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldsource=author, match=\regexp{(.*)(\s+and\s+others)}, final]
      \step[fieldset=xref, fieldvalue={$1$2}]
      \step[entrynew={$1$2}, entrynewtype=specialauthor]
      \step[entrytarget={$1$2}, fieldset={keywords}, fieldvalue={literatur}]
      \step[entrytarget={$1$2}, fieldset={author}, fieldvalue={$1$2}]
      \step[entrytarget={$1$2}, fieldset={sortname}, fieldvalue={$1andothers}]
    }
    \map{
      \perdatasource{literatur.bib}
      \step[notfield=author, final]
      \step[fieldset=options, fieldvalue={,}, append]
      \step[fieldsource=options, notmatch=\regexp{.*useeditor\s*=\s*false.*}, final]
      \step[fieldsource=editor, notmatch=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldsource=editor, match=\regexp{(.*)}, final]
      \step[fieldset=xref, fieldvalue={$1}]
      \step[entrynew={$1}, entrynewtype=specialauthor]
      \step[entrytarget={$1}, fieldset={keywords}, fieldvalue={literatur}]
      \step[entrytarget={$1}, fieldset={editor}, fieldvalue={$1}]
    }
    \map{
      \perdatasource{literatur.bib}
      \step[notfield=author, final]
      \step[fieldset=options, fieldvalue={,}, append]
      \step[fieldsource=options, notmatch=\regexp{.*useeditor\s*=\s*false.*}, final]
      \step[fieldsource=editor, match=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldsource=editor, match=\regexp{(.*)(\s+and\s+others)}, final]
      \step[fieldset=xref, fieldvalue={$1$2}]
      \step[entrynew={$1$2}, entrynewtype=specialauthor]
      \step[entrytarget={$1$2}, fieldset={keywords}, fieldvalue={literatur}]
      \step[entrytarget={$1$2}, fieldset={author}, fieldvalue={$1$2}]
      \step[entrytarget={$1$2}, fieldset={sortname}, fieldvalue={$1andothers}]
    }
    \map{
      \perdatasource{literatur.bib}
      \step[notfield=author, final]
      \step[notfield=editor, final]
      \step[fieldset=options, fieldvalue={,}, append]
      \step[fieldsource=options, notmatch=\regexp{.*usetranslator\s*=\s*false.*}, final]
      \step[fieldsource=options, match=\regexp{.*usetranslator.*}, final]
      \step[fieldsource=translator, notmatch=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldsource=translator, match=\regexp{(.*)}, final]
      \step[fieldset=xref, fieldvalue={$1}]
      \step[entrynew={$1}, entrynewtype=specialauthor]
      \step[entrytarget={$1}, fieldset={options}, fieldvalue={usetranslator=true}]
      \step[entrytarget={$1}, fieldset={keywords}, fieldvalue={literatur}]
      \step[entrytarget={$1}, fieldset={translator}, fieldvalue={$1}]
    }
    \map{
      \perdatasource{literatur.bib}
      \step[notfield=author, final]
      \step[notfield=editor, final]
      \step[fieldset=options, fieldvalue={,}, append]
      \step[fieldsource=options, notmatch=\regexp{.*usetranslator\s*=\s*false.*}, final]
      \step[fieldsource=options, match=\regexp{.*usetranslator.*}, final]
      \step[fieldsource=translator, match=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldsource=translator, match=\regexp{(.*)(\s+and\s+others)}, final]
      \step[fieldset=xref, fieldvalue={$1$2}]
      \step[entrynew={$1$2}, entrynewtype=specialauthor]
      \step[entrytarget={$1$2}, fieldset={keywords}, fieldvalue={literatur}]
      \step[entrytarget={$1$2}, fieldset={author}, fieldvalue={$1$2}]
      \step[entrytarget={$1$2}, fieldset={sortname}, fieldvalue={$1andothers}]
    }
    \map{
      \step[fieldsource=author, match=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldset=sortname, fieldvalue={$1andothers}]
    }
    \map{
      \step[notfield=author, final]
      \step[fieldsource=editor, match=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldset=sortname, fieldvalue={$1andothers}]
    }
    \map{
      \step[notfield=author, final]
      \step[notfield=editor, final]
      \step[fieldsource=options, notmatch=\regexp{.*usetranslator\s*=\s*false.*}, final]
      \step[fieldsource=options, match=\regexp{.*usetranslator.*}, final]
      \step[fieldsource=translator, match=\regexp{(.*)}, final]
      \step[fieldsource=translator, match=\regexp{(.*)\s+and\s+others}, final]
      \step[fieldset=sortname, fieldvalue={$1andothers}]
    }
  }  
}

\DeclareBibliographyDriver{specialauthor}{%
    \renewcommand*{\finentrypunct}{\addcolon}%
    \ifbool{cbx:idemfull}
    {}
    {\usebibmacro{author/editor+others/translator+others}%
        \ifnameundef{labelname}
        {}
        {\setunit{\labelnamepunct}\newblock}}%
    \usebibmacro{finentry}}

\makeatletter
\AtEveryBibitem{%
    \ifboolexpr{
        test {\ifkeyword{literatur}}
        and
        not test {\ifentrytype{specialauthor}}
        and
        test {\iffieldequals{namehash}{\bbx@lasthash}}
        and
        not test {\iffirstonpage}
    }
    {\renewbibmacro*{translator+othersstrg}{}%
        \renewbibmacro*{editor+othersstrg}{}}
    {}}
\makeatother

\pagestyle{empty}
\begin{document}
    \cite{1wendearchivderuniversitatrostock7.12.1989,1wendearchivderuniversitatrostock8.2.1990,1wendearchivderuniversitatrostock9.11.1989,1wendearchivderuniversitatrostock26.10.1989,1wendearchivderuniversitatrostock30.11.1989,1wendearchivderuniversitatrostock23.11.1989,1wendearchivderuniversitatrostock2.11.1989,1wendearchivderuniversitatrostock19.10.1989,1wendearchivderuniversitatrostock11.10.1990,1wendearchivderuniversitatrostock14.12.1989,1wendearchivderuniversitatrostock1.2.1990},
    \cite{wendearchivderuniversitatrostock7.12.1989,wendearchivderuniversitatrostock8.2.1990,wendearchivderuniversitatrostock9.11.1989,wendearchivderuniversitatrostock26.10.1989,wendearchivderuniversitatrostock30.11.1989,wendearchivderuniversitatrostock23.11.1989,wendearchivderuniversitatrostock2.11.1989,wendearchivderuniversitatrostock19.10.1989,wendearchivderuniversitatrostock11.10.1990,wendearchivderuniversitatrostock14.12.1989,wendearchivderuniversitatrostock1.2.1990}
    \printbibliography[keyword=literatur,title=Specially formatted bibliography]
    \printbibliography[keyword=quellen,title=Plain old'n sturdy bibliography]
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.