以下是主文件中的相关行tex
:
\usepackage[round]{natbib}
\begin{document}
\bibliography{References/references}
\bibliographystyle{apa}
\end{document}
文件中有两个参考文献bibtex
,来自同一作者并于同一年出版:
@article{Author2011a,
author = {Author},
title = {{Title}}
year = {2011}
}
@article{Author2011b,
author = {Author},
title = {{Title}}
year = {2011}
}
问题是,当*.bbl
使用bibtex
命令生成文件时,文档中引用的位置\citep{Author2011a}
显示(Author2011b)
,而其他引用则相反。*.bbl
文件内部也是同样的情况。
有人知道什么可能导致这类问题吗?
答案1
嗯,首先,你的 bib 文件中缺少一些逗号,也缺少一些期刊...在接下来的 MWE 中,我添加了两者...
其次,我将 bib 文件中使用的密钥更改为Author2011one
和Author2011two
。
现在您可以看到,书目中的印刷(2011a)
和(2011b)
是独立于您在 bib 文件中给定的键创建的。如果您有两个相同的条目,则书目需要将印刷参考更改为“使用年份”+“a”或“使用年份”+“b”,具体取决于相同标题的数量...
以下 MWE
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Author2011one,
author = {Author},
title = {{Title}},
journal = {missing},
year = {2011},
}
@article{Author2011two,
author = {Author},
title = {{Title}},
journal = {missing},
year = {2011},
}
\end{filecontents}
\documentclass[letterpaper, 10pt]{article}
\usepackage[round]{natbib}
\usepackage{lipsum}
\begin{document}
\lipsum[1-3] \citep{Author2011two}
\nocite{*}
\bibliographystyle{apa}
\bibliography{\jobname}
\end{document}
给你:
答案2
交换两个密钥解决了该问题。 生成的引用与 bibtex 生成的一致。