考虑以下 MWE,其.tex
文件如下:
\documentclass{article}
\usepackage[style=authoryear-comp,backend=biber,natbib,hyperref=true]{biblatex}
\addbibresource{References.bib}
\begin{document}
\citet{binmore} is an earlier chapter than \citet{binmore2} is.
\citeauthor{binmore}'s \citeyearpar{binmore} chapter is an earlier one than \citet{binmore2} is.
\printbibliography
\end{document}
以及.bib
包含以下内容的文件:
@inbook{binmore,
title = "Nash Bargaining Theory I, II, III",
author = "{Kenneth G.} Binmore",
booktitle = "The Economics of Bargaining",
publisher = "Oxford: Blackwell",
editor = "{Kenneth G.} Binmore and Partha Dasgupta",
pages = "27 -- 46, 61 -- 76, 239 -- 256",
year = "1987"
}
@inbook{binmore2,
title = "Perfect equilibria in bargaining models",
author = "{Kenneth G.} Binmore",
booktitle = "The Economics of Bargaining",
publisher = "Oxford: Blackwell",
editor = "{Kenneth G.} Binmore and Partha Dasgupta",
pages = "77 -- 105",
year = "1987"
}
正如您在下面的输出中看到的,\citeyearpar{binmore}
条目没有显示 (1987a);而是显示 (1987)。
在我看来,这是不一致的,可能会引起混淆。因此,我怎样才能\citeyeapar{...}
显示 (1987a) 而不是仅仅显示 (1987)?
非常感谢大家抽出时间。
答案1
authoryear
- 和-like样式autortitle
通常定义带星号的\cite
和版本\parencite
(即\cite*
和\parencite*
),它们可以省略引文中的名称,而只打印年份或标题。使用此命令优于\citeyear
或的优势\citetitle
在于带星号的引用命令会添加链接,并且样式之间的切换更加容易。
请注意,在natbib
兼容模式下,带星号的名称版本natbib
与它们的长名称不同。所以我们需要使用\parencite*{binmore}
而不能使用\citep*{binmore}
。
\documentclass{article}
\usepackage[style=authoryear-comp,backend=biber,natbib]{biblatex}
\usepackage{hyperref}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inbook{binmore,
title = {Nash Bargaining Theory {I}, {II}, {III}},
author = {Kenneth G. Binmore},
booktitle = {The Economics of Bargaining},
publisher = {Blackwell},
location = {Oxford},
editor = {Kenneth G. Binmore and Partha Dasgupta},
pages = {27-46, 61-76, 239-256},
year = {1987},
}
@inbook{binmore2,
title = {Perfect equilibria in bargaining models},
author = {Kenneth G. Binmore},
booktitle = {The Economics of Bargaining},
publisher = {Blackwell},
location = {Oxford},
editor = {Kenneth G. Binmore and Partha Dasgupta},
pages = {77-105},
year = {1987},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\citet{binmore} is an earlier chapter than \citet{binmore2} is.
\citeauthor{binmore}'s \parencite*{binmore} chapter is an earlier one than \textcite{binmore2} is.
\citeauthor{binmore}'s \citep*{binmore}. % oops
\printbibliography
\end{document}