編輯:标题改为使用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}
translator
话虽如此,如果工作中有,related
使用relatedtype
bytranslator
而不是通常会得到更好的结果translationas
。