biblatex-chicago:没有译者姓名,translationas 就无法工作

biblatex-chicago:没有译者姓名,translationas 就无法工作

編輯:标题改为使用translationas而不是translatedas,因为前者是关系的正确名称。我在问题中保留了后者。

在我的参考书目中,我想让读者了解我引用的作品的英文翻译。如果我仅使用关系translatedas链接两个条目,则它们之间不会打印任何内容:

默认条目

这似乎很容易让读者感到困惑,也不符合手动的(第 16 版,14.109)。因此,我想在翻译数据前添加“翻译为”。我可以通过定义参考书目字符串来实现这一点translatedas,它与 配合使用效果很好verbose-ibid,但与 配合biblatex-chicago使用会产生两个虚假的逗号,并删除元素之间的一些标点符号和空格:

带有翻译的条目已定义

问题在于缺少译者姓名。Furet 的书确实有译者,如果她的名字包含在条目中,那么一切就都好了。但是,就我而言,我想引用的翻译是匿名的。我如何添加与匿名翻译的关系?

梅威瑟:

\documentclass{article}
\usepackage[american]{babel}
\usepackage[babel]{csquotes}
\usepackage[backend=biber]{biblatex-chicago}
\NewBibliographyString{translatedas}
\DefineBibliographyStrings{english}{translatedas = {translated as}}
\nocite{furet:related} 
\begin{filecontents}{\jobname.bib}
    @book{furet:passing:eng,
      Author = {Furet, François},
      Location = {Chicago},
      Publisher = {University of Chicago Press},
      Title = {The Passing of an Illusion},
      Year = {1999}
    }

    @book{furet:related,
      Author = {Furet, François},
      Location = {Paris},
      Publisher = {Éditions Robert Laffont},
      Related = {furet:passing:eng},
      Relatedtype = {translatedas},
      Title = {Le passé d'une illusion},
      Year = {1995}
    }

\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\printbibliography
\end{document}

答案1

下面的示例使用预定义的relatedtype/bibstring translationas,但对于新的 也可以执行相同的操作translatedas

显然,默认related驱动程序biblatex-chicago在您的情况下无法获得良好的结果(我没有深入研究为什么缺少标点符号),但我们可以related:bytranslator稍加调整并抛弃翻译器的明确打印。

\documentclass{article}
\usepackage[american]{babel}
\usepackage[babel]{csquotes}
\usepackage[backend=biber]{biblatex-chicago}

\makeatletter
\newbibmacro*{related:translationas}[1]{%
  \entrydata{#1}{%
    \usebibmacro{at+every+item}%
    \renewbibmacro*{name:hook}[1]{%
      \ifnumequal{\value{listcount}}{1}%
        {\begingroup
         \mkrelatedstring%
         \lbx@initnamehook{#1}%
         \endgroup}%
        {}}%
    \usebibmacro{cite:origfull}}}%
\makeatother

\nocite{furet:related} 
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{furet:passing:eng,
  Author    = {Furet, François},
  Location  = {Chicago},
  Publisher = {University of Chicago Press},
  Title     = {The Passing of an Illusion},
  Year      = {1999},
}
@book{furet:related,
  Author      = {Furet, François},
  Location    = {Paris},
  Publisher   = {Éditions Robert Laffont},
  Related     = {furet:passing:eng},
  Relatedtype = {translationas},
  Title       = {Le passé d'une illusion},
  Year        = {1995},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\printbibliography
\end{document}

弗朗索瓦·富雷(Furet),幻觉已经过时了。巴黎:Éditions Robert Laffont,1995 年。译为《幻觉的消逝》(芝加哥:芝加哥大学出版社,1999 年)。

translator话虽如此,如果工作中有,related使用relatedtype bytranslator而不是通常会得到更好的结果translationas

相关内容