von MoeWe » Sa 20. Jun 2020, 10:51
Wie Du schon sagst, ist begentry hier nicht das Mittel der Wahl, Du musst in die Makros für author (author) und editor (bbx:editor) gehen.
Da ich keinen guten Weg gefunden habe, die gewünschte Ausgabe mit der Option dashed=true, zu kombinieren, habe ich dashed=false, gesetzt.
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear, dashed=false]{biblatex}
\makeatletter
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
(not test {\ifnameundef{author}}
or
not test {\ifnameundef{shortauthor}})
}
{\ifnameundef{shortauthor}
{\printnames{author}%
\setunit{\printdelim{authortypedelim}}%
\usebibmacro{authorstrg}}
{\printnames{shortauthor}}%
\setunit{\printdelim{nameyeardelim}}}
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\printdelim{nonameyeardelim}}}%
\usebibmacro{date+extradate}%
\ifnameundef{shortauthor}
{}
{\setunit{\addspace\textendash\space}%
\printnames{author}%
\setunit{\printdelim{authortypedelim}}%
\usebibmacro{authorstrg}}}
\renewbibmacro*{bbx:editor}[1]{%
\ifboolexpr{
test \ifuseeditor
and
(not test {\ifnameundef{editor}}
or
not test {\ifnameundef{shorteditor}})
}
{\ifnameundef{shorteditor}
{\printnames{editor}%
\setunit{\printdelim{editortypedelim}}%
\usebibmacro{#1}%
\clearname{editor}}
{\printnames{shorteditor}}%
\setunit{\printdelim{nameyeardelim}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\printdelim{nonameyeardelim}}}%
\usebibmacro{date+extradate}%
\ifnameundef{shorteditor}
{}
{\setunit{\addspace\textendash\space}%
\printnames{editor}%
\setunit{\printdelim{editortypedelim}}%
\usebibmacro{#1}%
\clearname{editor}}}
\makeatother
\begin{filecontents*}{\jobname.bib}
@online{mustermann2020,
author = {Max Mustermann},
shortauthor = {MM},
title = {Titel},
year = {2020}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{mustermann2020,sigfridsson}
\printbibliography
\end{document}
Wie Du schon sagst, ist `begentry` hier nicht das Mittel der Wahl, Du musst in die Makros für `author` (`author`) und `editor` (`bbx:editor`) gehen.
Da ich keinen guten Weg gefunden habe, die gewünschte Ausgabe mit der Option `dashed=true,` zu kombinieren, habe ich `dashed=false,` gesetzt.
```
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear, dashed=false]{biblatex}
\makeatletter
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
(not test {\ifnameundef{author}}
or
not test {\ifnameundef{shortauthor}})
}
{\ifnameundef{shortauthor}
{\printnames{author}%
\setunit{\printdelim{authortypedelim}}%
\usebibmacro{authorstrg}}
{\printnames{shortauthor}}%
\setunit{\printdelim{nameyeardelim}}}
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\printdelim{nonameyeardelim}}}%
\usebibmacro{date+extradate}%
\ifnameundef{shortauthor}
{}
{\setunit{\addspace\textendash\space}%
\printnames{author}%
\setunit{\printdelim{authortypedelim}}%
\usebibmacro{authorstrg}}}
\renewbibmacro*{bbx:editor}[1]{%
\ifboolexpr{
test \ifuseeditor
and
(not test {\ifnameundef{editor}}
or
not test {\ifnameundef{shorteditor}})
}
{\ifnameundef{shorteditor}
{\printnames{editor}%
\setunit{\printdelim{editortypedelim}}%
\usebibmacro{#1}%
\clearname{editor}}
{\printnames{shorteditor}}%
\setunit{\printdelim{nameyeardelim}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\printdelim{nonameyeardelim}}}%
\usebibmacro{date+extradate}%
\ifnameundef{shorteditor}
{}
{\setunit{\addspace\textendash\space}%
\printnames{editor}%
\setunit{\printdelim{editortypedelim}}%
\usebibmacro{#1}%
\clearname{editor}}}
\makeatother
\begin{filecontents*}{\jobname.bib}
@online{mustermann2020,
author = {Max Mustermann},
shortauthor = {MM},
title = {Titel},
year = {2020}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{mustermann2020,sigfridsson}
\printbibliography
\end{document}
```