我.bst
使用 制作了一个自定义文件makebst
。使用 时Natbib
,我会得到两篇论文,这些论文属于同一年和同一作者,在引文中,一个字母将这两篇论文标识为“a”和“b”。遗憾的是,参考书目中没有添加任何字母。如果我将 更改为bibliographystyle
,plainnat
我就会看到字母。希望有人能帮助我……
\documentclass{article}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{Hansen2015a,
author = {Hansen, Jens},
title = {Title One},
year = {2015}
}
@misc{Hansen2015b,
author = {Hansen, Jens},
title = {Title Two},
year = {2015}
}
\end{filecontents*}
\begin{document}
\citep{Hansen2015a} and~\citep{Hansen2015b} or \citep{Hansen2015a,Hansen2015b}.
\bibliographystyle{bibstyle}
%\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}
自定义 bst 样式:
PlainNat 风格:
答案1
该问题与 有关extra.label
,原始 bst 文件中缺少 。makebst
现在,再次运行 并从新的 bst 文件中复制代码片段对我来说有效。
旧代码:
FUNCTION {format.date}
{
month "month" bibinfo.check
duplicate$ empty$
year "year" bibinfo.check duplicate$ empty$
{ swap$ 'skip$
{ "there's a month but no year in " cite$ * warning$ }
if$
*
}
{ swap$ 'skip$
{
swap$
" " * swap$
}
if$
*
}
if$
}
函数 {format.date} 的新 bst 代码
FUNCTION {format.date}
{ year "year" bibinfo.check duplicate$ empty$
{
}
'skip$
if$
month "month" bibinfo.check duplicate$ empty$
'skip$
{
" " * swap$
}
if$
*
extra.label *
before.all 'output.state :=
", " swap$ *
}