我一直在寻找解决方案,但到目前为止还没有成功。我对同一作者同一年的引用显示为:(King 2000a,b, 2001a,b)。但是我希望它显示为:(King 2000a, 2000b; 2001a, 2001b)。以下是我的 MWE
enter code here\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[american]{babel}
\usepackage{filecontents}
\usepackage[backend = biber,
style = authoryear-comp,
sortcites = true,
bibstyle = apa,
sorting = ynt]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\begin{filecontents}{general.bib}
@article{king200nonstationary,
title = {Nonstationary Hypotheses},
author = {King, P. M.},
journal = {Journal of {A}merican {S}tatistics},
volume = {98},
number = {428},
pages = {1437--1487},
year = {2000}
}
@article{king2000semiparametric,
title = {Semiparametric Time Series},
author = {King, P. M.},
journal = {The {W}orld {A}nnals of {S}tatistics},
pages = {539--559},
year = {2000},
volume = {52},
number = {1}
}
@article{king2001regression,
title = {Regression and Dependence},
author = {King, P. M.},
journal = {The {W}orld {A}nnals of {S}tatistics},
pages = {1072--1099},
year = {2001},
volume = {53},
number = {3}
}
@article{king2001gaussian,
title = {Gaussian Semiparametric Estimation of Long Range Dependence},
author = {King, P. M.},
journal = {The {W}orld {A}nnals of {S}tatistics},
pages = {1661--1691},
volume = {54},
number = {2},
year = {2001}
}
\end{filecontents}
\addbibresource{general.bib}
\begin{document}
These ideas are summarised in:\parencite{king2001regression,king2000semiparametric,king200nonstationary,king2001gaussian}.
However, our results are closer to those described in \textcite{king2001regression}.
\begin{refcontext}[sorting=nyt]
\printbibliography
\end{refcontext}
\end{document}
我正在使用 Windows 7、Texmaker 4.5、Biblatex 3.0 和 Miktex 2.9。非常感谢!
答案1
最简单的解决方案是biblatex
“忘记”最后一年,这样如果该年份与最后一年重合,就不会省略该年份。
\makeatletter
\AtEveryCitekey{\global\undef\cbx@lastyear}
\makeatother
成功了。
对于真正的 APA 样式,只需biblatex
加载
\usepackage[backend = biber,
style = apa,
sorting = ynt]{biblatex}
在这种情况下您也会获得所需的输出。