使用 Biblatex 自定义参考书目驱动程序

使用 Biblatex 自定义参考书目驱动程序

我想重新定义特定条目类型 (bookinbook) 的参考书目驱动程序,以便包含译者的名称,其中译者可能因父书中的不同作品而异(不从父条目继承)。因此,我希望我的条目看起来如下所示:

柏拉图:梅农。关于我们。冯·弗里德里希·施莱尔马赫。在:沃克II 室,第 509--599 页。

--普罗泰戈拉。关于我们。冯迪特里希·库尔茨。在:沃克第二室,第 83-217 页。

我使用以下驱动程序实现了除“Übers. von”(编辑)部分之外的所有内容:

\DeclareBibliographyDriver{bookinbook}{%
    \usebibmacro{bibindex}%
    \usebibmacro{begentry}%
    \usebibmacro{author/translator+others}%
    \setunit{\labelnamepunct}\newblock
    \usebibmacro{title}%
    \newunit
    \printlist{language}%
    \newunit\newblock
    \usebibmacro{byauthor}%
    \newunit\newblock
    \usebibmacro{in:}%
    \iffieldundef{crossref}
    {\usebibmacro{crossref:full}}
    {\usebibmacro{crossref:labelbookinbook}}
    \newunit\newblock
    \usebibmacro{chapter+pages}%
    \iffieldundef{crossref}
    {\usebibmacro{crossref:extrainfo}}
    {}
    \setunit{\bibpagerefpunct}\newblock
    \usebibmacro{pageref}%
    \usebibmacro{finentry}}

与此 \newbibmacro 结合使用:

\newbibmacro{crossref:labelbookinbook}{%
    \entrydata{\strfield{crossref}}
    {\printfield[title]{labeltitle}}
    \setunit*{\addspace}
    \printfield{volume}}

但我不知道该在何处插入什么才能在标题后立即显示“翻译者”。所以任何帮助都将不胜感激!

答案1

\usebibmacro{bytranslator+others}在 之后添加宏\usebibmacro{byauthor}

\DeclareBibliographyDriver{bookinbook}{%
    \usebibmacro{bibindex}%
    \usebibmacro{begentry}%
    \usebibmacro{author/translator+others}%
    \setunit{\labelnamepunct}\newblock
    \usebibmacro{title}%
    \newunit
    \printlist{language}%
    \newunit\newblock
    \usebibmacro{byauthor}%
    \newunit\newblock
    \usebibmacro{bytranslator+others}%
    \newunit\newblock
    \usebibmacro{in:}%
    \iffieldundef{crossref}
      {\usebibmacro{crossref:full}}
      {\usebibmacro{crossref:labelbookinbook}}%
    \newunit\newblock
    \usebibmacro{chapter+pages}%
    \iffieldundef{crossref}
      {\usebibmacro{crossref:extrainfo}}
      {}%
    \setunit{\bibpagerefpunct}\newblock
    \usebibmacro{pageref}%
    \usebibmacro{finentry}}

请注意,从技术上讲,对于biblatextranslator对于@in...条目 (以及@bookinbook)指的是整体作品的翻译者(父级@book),因此我们在这里所做的有点牵强。

相关内容