BibLaTeX:删除编辑者姓名后的逗号

BibLaTeX:删除编辑者姓名后的逗号

我正在尝试使我的参考书目满足我的需要,但有一个逗号我不知道如何删除。

在条目 [2] ('inbook') 中这是正确的,但在条目 [1] ('book' 没有作者,只有编辑) 中不应该有逗号。

在此处输入图片描述

对于我来说,理解所有biblatex命令确实非常困难,所以如果有人能帮助我解决这个问题就太好了。

我的最小工作示例:

\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[backend=biber,style=authoryear]{biblatex}
\usepackage{csquotes}
\usepackage{filecontents}

\begin{filecontents*}{bib.bib}
@book{awv_stmk,
    editor = "{Hans Wurst}",
    title = "{Das Leben}"
}

@inbook{book2,
    author = "Hans Wurst",
    booktitle = "Das Leben",
    editor = "Biene Maja",
    title = "Artikel"
}
\end{filecontents*}

\addbibresource{bib.bib}


% Put editor string in parentheses
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}

% Like editor+others but without comma before editor string and dash checks
\newbibmacro*{ineditor+others}{%
  \ifboolexpr{ test \ifuseeditor and not test {\ifnameundef{editor}} }
    {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}
    {}}

% Print editors before "in" title
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}%
  \usebibmacro{ineditor+others}%
  \newunit
  \clearname{editor}}

\begin{document}

\nocite{*}
\printbibliography

\end{document}

答案1

编辑:为了authoryear风格,您可以修改bbx:editor宏以放入空格而不是逗号和空格。尝试添加以下内容:

\usepackage{xpatch}
\xpatchbibmacro{bbx:editor}
  {\addcomma\space}{\addspace}{}{}

您也可以对 进行等效的更改bbx:translator

相关内容