biblatex philosophy-modern:一个错误?

biblatex philosophy-modern:一个错误?

我发现philosophy-modern.bbx当使用翻译(或作者以外的任何人)代替作者时无法开始新行。

下面给出最小的例子。

\documentclass[12pt,a4paper]{article}
\usepackage{filecontents}

\begin{filecontents}{test2.bib}
@book{bodhi:numerical,
    options = {usetranslator=true},
    translator = {Bhikkhu Bodhi},
    sortname = {Bodhi},
    title = {The Numerical Discourses of the Buddha},
    subtitle = {A Translation of the Anguttara Nikaya},
    shorttitle = {Numerical},
    year = 2012,
    address = {Somerville, MA},
    publisher = {Wisdom Publications}
}
\end{filecontents}

\usepackage[backend=biber, style=philosophy-modern, language=american,publocformat=loccolonpub]{biblatex}
\addbibresource{test2.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

在此处输入图片描述

答案1

此错误已在 中修复biblatex-philosophy。更新应该可以解决这个问题。

确实,philopshy-modern缺少对bbx:translator宏的重新定义。它对author和有重新定义bbx:editor

我们需要

\renewbibmacro*{bbx:translator}[1]{%
 \ifboolexpr{%
    test \ifusetranslator
    and
    not test {\ifnameundef{translator}}
  }%
    {\usebibmacro{bbx:dashcheck}%
       {}%
       {\printnames{translator}%
        \postsep%ADD
        \usebibmacro{bbx:savehash}}}%
    {\global\undef\bbx@lasthash%
     \usebibmacro{labeltitle}}%
  \usebibmacro{date+extrayear}%
  \iffieldundef{label}%
    {\usebibmacro{#1}%
     \clearname{translator}%
     \printtext{\addcomma\space}}
    {}}%

相关内容