请考虑以下事项
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@book{test1,
address = {Edinburgh},
title = {I and thou},
publisher = {T. \& {T}. {Clark}},
author = {Buber, Martin},
translator = {Smith, Ronald Gregor},
year = {1937},
origdate = {1923/1924}
}
@incollection{test2,
address = {Cambridge, {MA}},
title = {Deliberation and democratic legitimacy},
booktitle = {Deliberative democracy: {Essays} on reason and politics},
publisher = {MIT {Press}},
author = {Cohen, Joshua},
editor = {Bohman, James and Rehg, William},
year = {1997/1998},
origdate = {1989},
pages = {67--91}
}
}
\end{filecontents*}
\documentclass[a4paper]{article}
% Set the values for the bibliography
\usepackage[
style=apa,
backend=biber,
isbn=false,
url=false,
doi=false,
eprint=false,
hyperref=true,
backref=false,
firstinits=false,
]{biblatex}
% Recommended by biblatex
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage{xpatch}
% Set language
\usepackage[british]{babel}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{mybib.bib}
\begin{document}
\cite{test1}
\cite{test2}
\printbibliography
\end{document}
并注意数据范围是如何打印的
APA 样式中的数据范围(我猜)应像这样打印:Someauthor, 1997-1998
。带有日期范围的样式的问题biblatex-apa
在于,year
字段呈现为1997/1998
而不是1997/1998
,而的数据范围origdate
仅呈现第一年1997
。
如何调整样式以便将上面的 MWE 输出为
?
答案1
例如使用:
@book{test1,
address = {Edinburgh},
title = {I and thou},
publisher = {T. \& {T}. {Clark}},
author = {Buber, Martin},
translator = {Smith, Ronald Gregor},
year = {1937},
related = {test1orig},
relatedtype = {reprintfrom}
}
@book{test1orig,
address = {OrigPlace},
title = {I and thou},
publisher = {OrigPublisher},
author = {Buber, Martin},
translator = {Smith, Ronald Gregor},
date = {1923/1924}
}
这样,我得到:
这是正确的。APA 格式没有将重印年份放进去,但如果你想这样做,你可以修改related:reprintfrom
apa.bbx 中的宏。
答案2
有一些事情可以解决大部分问题。
babel
首先,我建议您重新安排- csquotes
-的加载顺序biblatex
;也许是这样的:
\usepackage[T1]{fontenc}% see: http://tex.stackexchange.com/q/71517/8528
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[
style=apa,
backend=biber,
isbn=false,
url=false,
doi=false,
eprint=false,
hyperref=true, % <-- not loaded in original question
backref=false,
firstinits=false,
]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
另一个问题在于.bib
条目本身。您有test2
:
year = {1997/1998},
origdate = {1989},
但你想要:
date = {1997/1998},
origdate = {1989},
对于您的第二次参考,您现在将获得以下引用:
科恩,1989/1997–1998
在你的参考书目中:
Cohen, J. (1997–1998)。协商与民主合法性。J. Bohman & W. Rehg (Eds.),协商民主:理性与政治论文 (第 67-91 页)。马萨诸塞州剑桥:麻省理工学院出版社。(原著出版于 1989 年)
test1
我认为,问题在于,APA
样式并不关心origendyear
,所以它只打印origyear
,根据biblatex
手册,如果给出了范围,则默认只取第一个日期。
我犹豫着是否要建议修复,因为我不确定这是否是 APA 样式的一般“特性”或者是该样式实现中的一个错误。