biblatex-philosophy(现代/经典/详细)版本在 origyear 字段中给出了错误的介绍字符串(即“trans。”)。以下是 MWE:
\documentclass[12pt,a4paper]{article}
\usepackage{filecontents}
\begin{filecontents}{test2.bib}
@book{angut,
shorthand = {AN},
title = {Anguttara-Nikaya},
editor = {Richard Morris and Warder, A. K.},
volumes = {6},
origyear = 1885,
origendyear = 1910,
year = 1958,
endyear = 1976,
address = {London},
publisher = {The Pali Text Society},
keywords = {abbre,pali}
}
\end{filecontents}
\usepackage[backend=biber, style=philosophy-modern, language=american,publocformat=loccolonpub]{biblatex}
\addbibresource{test2.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
答案1
在 中这些orig*
字段已弃用biblatex-philosophy
,您应改用related
功能。(请注意,标准bibiatex
样式只是忽略了这些orig*
字段,因此这种行为并没有什么不寻常的。)
文档biblatex-philosophy
指出
以下 [
orig*
] 字段可以保存翻译或原始版本数据。根据origfields=trans
(默认)或origfields=origed
选项(见下文),它们前面分别带有字符串“trans.”或“orig. ed.” 。请注意,需要origdate
/transdate
字段才能打印这些字段。
这意味着默认情况下,假定指的orig*
是翻译,您可以使用选项更改它origfields=origed
。这将使您
《增支部》,6 卷本,伦敦:巴利文献学会;最初出版时间为 1885-1910 年。
由于缺少标题,因此低于标准。
您可以使用
\documentclass[12pt,a4paper]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{angut,
shorthand = {AN},
title = {Anguttara-Nikaya},
editor = {Richard Morris and Warder, A. K.},
volumes = {6},
date = {1958/1976},
origdate = {1885/1910},
address = {London},
publisher = {The Pali Text Society},
}
\end{filecontents}
\usepackage[backend=biber, style=philosophy-modern, language=american,publocformat=loccolonpub, origfields=origed]{biblatex}
\addbibresource{\jobname.bib}
\NewBibliographyString{origpubbare}
\DefineBibliographyStrings{english}{origpubbare = {orig\adddotspace pub\adddotspace}}
\makeatletter
\renewbibmacro*{transorigstring}{%
\iffieldundef{reprinttitle}%
{\printtext{\ifdefstring{\bbx@origfields}{origed}
{\bibstring{origpubbare}}%
{\bibstring{translationas}}}\nopunct}%
{\printtext{\bibstring{reprint}}}\nopunct}
\makeatother
\begin{document}
\nocite{*}
\printbibliography
\end{document}
反而。
这样,我们只需写“orig. pub.”而不是“orig. pub. as”。