Форматирование списка литературы с помощью biblatex, запятая после года в записях литературы

Форматирование списка литературы с помощью biblatex, запятая после года в записях литературы

Мне нужно отформатировать список литературы для моей бакалаврской диссертации в соответствии с рекомендациями университета. В моем документе я использую biblatex и biber. В настоящее время у меня это: (MWE)

\documentclass{article}

    %
    % biblatex, biber
    %
    \usepackage[backend=biber, style=authoryear, doi=false, natbib=true, maxcitenames=2, maxbibnames=15, firstinits=true]{biblatex}
    \addbibresource{Literatur.bib}
    \setlength\bibitemsep{1.8\itemsep}
    \renewcommand{\cite}{\parencite}
    \DeclareNameAlias{author}{last-first}
    \DefineBibliographyStrings{ngerman}{andothers = {et al\adddot}}
    \DeclareDelimFormat[parencite]{nameyeardelim}{\addspace}
    \DeclareFieldFormat{journaltitle}{#1}
    \DeclareFieldFormat{booktitle}{#1}
    \DeclareFieldFormat*{title}{#1}
    \DeclareDelimFormat{yeartitledelim}{\addcomma\addspace}
    
    \setlength{\bibhang}{0pt}
    
    \usepackage{xpatch}
    
    \xpatchbibmacro{date+extradate}{%
        \printtext[parens]%
    }{%
        \setunit*{\addcomma\space}%
        \printtext%
    }{}{}
        
    \DefineBibliographyExtras{ngerman}{
        \renewcommand*{\finalnamedelim}{\addcomma\addspace}
    }
    
    \renewbibmacro*{publisher+location+date}{
        \printlist{publisher}
        \setunit*{\addcomma\space}
        \printlist{location}
        \setunit*{\addcomma\space}
        \usebibmacro{date}
        \newunit
    }

\begin{document}
    
    \noindent test \cite{RolfFischer}
    
    \printbibliography


\end{document}

Со следующим нагрудным номером:

@book{RolfFischer,
    author              ={Fischer, Rolf},
    title               ={Elektrische Maschinen},
    publisher           ={Carl Hanser Verlag},
    address             ={{M{\"u}nchen}},
    year                ={2011},
    isbn                ={978-3-446-42554-5},
}

пример списка литературы

Но мне нужна запятая после года: Fischer, R., 2011, Elektrische Maschinen. Карл Хансер и т.д.

список литературы с запятой

Как мне этого добиться?

решение1

Соответствующим разделителем здесь является nametitledelimbibконтексте). (Это сделано для обеспечения согласованности со всеми другими стилями библиографии, где год не перемещается на позицию после автора, и, таким образом, этот разделитель будет появляться между именем и заголовком, а не как в этом случае между годом после имени и заголовком. В стандартных стилях этого yeartitledelimне существует.)

\documentclass{article}

\usepackage[
  backend=biber,
  style=authoryear,
  maxcitenames=2, maxbibnames=15, firstinits=true,
  doi=false,
  natbib=true,
]{biblatex}

\setlength\bibitemsep{1.8\itemsep}
\setlength{\bibhang}{0pt}

\DefineBibliographyStrings{ngerman}{andothers = {et al\adddot}}

\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addcomma\space}

\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\addspace}
\DeclareDelimFormat[parencite]{nameyeardelim}{\addspace}

\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat*{title}{#1}


\usepackage{xpatch}
\xpatchbibmacro{date+extradate}{%
  \printtext[parens]%
}{%
  \setunit*{\addcomma\space}%
  \printtext%
}{}{}

\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit
}


\begin{filecontents}[overwrite]{\jobname.bib}
@book{RolfFischer,
  author              = {Fischer, Rolf},
  title               = {Elektrische Maschinen},
  publisher           = {Carl Hanser Verlag},
  address             = {München},
  year                = {2011},
  isbn                = {978-3-446-42554-5},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
test \autocite{RolfFischer}

\printbibliography
\end{document}

Фишер, Р., 2011, Электрические машины. Издательство Карла Ханзера, Мюнхен. ISBN: 978-3-446-42554-5.

Связанный контент