当我使用 innamebeforetitle 选项时,可以在参考书目中为编辑者添加括号“(eds.):”,但当我直接引用他们时则添加“, eds.”吗?

当我使用 innamebeforetitle 选项时,可以在参考书目中为编辑者添加括号“(eds.):”,但当我直接引用他们时则添加“, eds.”吗?

最后,当我引用一个条目时,我几乎拥有了完美的引用风格@incollection

作者(年份)。“标题”。在:编辑 A 和编辑 B (Hrsg.):标题

括号中的“(Hrsg.):”非常重要。但当我直接引用该合集时,我希望不加括号,而是在括号前加逗号(否则当我使用作者年份样式时,它看起来很愚蠢)

编辑 A,编辑 B,Hrsg。(年份)。标题。

这是一个最小的例子,也许有人有一个很好的解决方案——会很有帮助!

\documentclass[12pt,a4paper,]{scrreprt} 
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[natbib=true,backend=biber,
style=ext-authoryear-icomp,innamebeforetitle,innameidem=true]{biblatex}
\DefineBibliographyStrings{ngerman}{editor = (Hrsg\adddot):}
\DefineBibliographyStrings{ngerman}{editors = (Hrsg\adddot):}
\DeclareDelimFormat{editortypedelim}{\addspace}

\usepackage{hyperref}
\usepackage{filecontents}

\begin{filecontents}{example.bib}
@incollection{Hoffmann.2010,
 author = {Hoffmann, Thomas},
 title = {Erste Natur, Zweite Natur und das Gute f{\"u}r den Menschen},
 pages = {75--104},
 editor = {Hoffmann, Thomas and Reuter, Michael},
 booktitle = {Nat{\"u}rlich gut. Aufs{\"a}tze zur Philosophie von Philippa Foot},
 year = {2010},
 address = {Frankfurt am Main (u. a.)}
}


@book{Hoffmannetal.2010,
 year = {2010},
 title = {Nat{\"u}rlich gut. Aufs{\"a}tze zur Philosophie von Philippa Foot},
 address = {Frankfurt am Main (u. a.)},
 editor = {Hoffmann, Thomas and Reuter, Michael}
}
\end{filecontents}

\addbibresource{example.bib}

\begin{document}

\cite{Hoffmann.2010} \cite{Hoffmannetal.2010}



\printbibliography[]

\end{document}

答案1

括号之类的格式和冒号之类的尾随标点符号绝不应包含在参考文献字符串及其翻译中。

在这种情况下,正确的更改方法是通过editortype字段格式、editortypedelim分隔符和innametitledelim分隔符。

biblatex-extbbx:in:editor宏(用于打印 的编辑器innamebeforetitle)重用了editortype字段格式,其他宏也使用该格式来打印编辑器字符串。因此,获取不同格式的最简单方法是在 中本地覆盖全局设置bbx:in:editor

\documentclass[12pt,a4paper,]{article} 
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage{csquotes}
\usepackage[natbib=true,backend=biber,
style=ext-authoryear-icomp,innamebeforetitle,innameidem=true]{biblatex}

\usepackage{hyperref}

\DeclareDelimFormat[bib]{innametitledelim}{\addcolon\space}

\makeatletter
\renewbibmacro*{bbx:in:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\DeclareFieldFormat{editortype}{\mkbibparens{##1}}%
     \DeclareDelimFormat{editortypedelim}{\addspace}%
     \ifboolexpr{togl {bbx:innameidem} and test {\bbx@ineditoridem}}
       {\bibstring[\mkibid]{idem\thefield{gender}}}
       {\printnames[ineditor]{editor}}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{#1}%
     \clearname{editor}}
    {}}
\makeatother


\begin{filecontents}{\jobname.bib}
@incollection{Hoffmann.2010,
 author   = {Hoffmann, Thomas},
 title    = {Erste Natur, Zweite Natur und das Gute für den Menschen},
 pages    = {75--104},
 crossref = {Hoffmannetal.2010},
}
@collection{Hoffmannetal.2010,
 year     = {2010},
 title    = {Natürlich gut},
 subtitle = {Aufsätze zur Philosophie von Philippa Foot},
 address  = {Frankfurt am Main and others},
 editor   = {Hoffmann, Thomas and Reuter, Michael}
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\cite{Hoffmann.2010} \cite{Hoffmannetal.2010}

\printbibliography
\end{document}

Hofmann,Thomas(2010)。“最初的自然、最后的自然和对人类有益的自然”。撰文:Thomas Hofmann 和 Michael Reuter(Hrsg.):自然好。菲利帕·福特 (Philippa Foot) 的哲学著作。法兰克福 ua,S. 75–104。//Hofmann,Thomas 和 Michael Reuter,Hrsg。 (2010)。自然肠道。菲利帕·福特 (Philippa Foot) 的哲学著作。法兰克福。

请注意示例条目的细微变化:使用biblatex和 Biber,您可以直接使用非 ASCII 字符,如ü,而不必将它们转义为{\"u}。您还可以使用该crossref功能避免重复。最后,父条目应该是@collection而不是@book(毕竟子条目是@incollection而不是@inbook)。

相关内容