文内作者日期引用的年份范围显示不正确

文内作者日期引用的年份范围显示不正确

我的参考书目中有一些条目的日期范围是年份(有时多个条目的作者和日期范围相同)。它们在参考书目中显示正确,但在文内作者日期引文中显示不正确。我希望它们显示为:

 (Author 1949, 1949-1950, 1950-1952a,b, 1950-2000)

(或类似合理的内容)。目前它们显示为:

 (Author 1949,-, 1950-1952a,-,-)

我正在使用 bibtex 和 natbib这个 .bst 文件,现在我无法改变这些事情。解决方案这个帖子对我来说不起作用。*我猜测问题出在 .bst 文件上,因为当我使用不同的参考书目样式时,它以不同的方式处理这些问题。

*更新:连字符或斜线都可以单独使用,例如(作者 1949-1950),但在一个括号中的一串引用中也会出现同样的问题。

不完全是 MWE,但这里有相关的部分和示例 bib 条目。

@misc{bar1949a,
  author = {F. Bar},
  title = {Some title},
  year = {1949},
}
@misc{bar1949b,
  author = {F. Bar},
  title = {Some notes},
  year = {1949--1950},
}
@misc{bar1950a,
  author = {F. Bar},
  title = {Some more notes},
  year = {1950--1952},
}
@misc{bar1950b,
  author = {F. Bar},
  title = {Some recordings},
  year = {1950--1952},
}
@misc{bar1950c,
  author = {F. Bar},
  title = {A huge collection of notes},
  year = {1950--2000},
}

\documentclass{article}
\usepackage{natbib}
\bibpunct[:]{(}{)}{;}{a}{}{,}

\begin{document}
Blah blah blah \citep{bar1949a,bar1949b,bar1950a,bar1950b,bar1950c}. Blah blah blah.

\bibliographystyle{unified}
\bibliography{test}
\end{document}

答案1

我找到了一个手动解决方法,感谢这个帖子

\documentclass{article}
\usepackage{natbib}
\bibpunct[:]{(}{)}{;}{a}{}{,}

\begin{document}
Blah blah blah (\citealt{bar1949a}, \citealt{bar1949b}, \citealt{bar1950a}, \citealt{bar1950b}, \citealt{bar1950c}). Blah blah blah.

\bibliographystyle{unified}
\bibliography{test}
\end{document}

但它若能正常工作就更好了。

相关内容