为什么使用 cite 时参考文献的顺序会发生变化?

为什么使用 cite 时参考文献的顺序会发生变化?

我花了一整晚的时间来缩小问题范围但还是无法解决它。

这是我的main.tex文件:

\documentclass[journal]{IEEEtran}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\usepackage{stfloats}
\usepackage{url}

%\usepackage{cite}
\hyphenation{op-tical net-works semi-conduc-tor IEEE-Xplore}
% updated with editoria

\begin{document}


\section{Result}
\label{section:Result}
One example is from ~\cite{FosterEtAl:2003}.

\section*{Acknowledgments}
This should be a simple paragraph before the References to thank those individuals and institutions who have supported your work on this article.
%
\newpage
%

\bibliographystyle{IEEEtran}
\nocite{*}
\bibliography{IEEEabrv,references.bib}

\vspace{11pt}
\end{document}

这是references.bib位于同一文件夹中的。

@article{knuth:1984,
  title={Literate Programming},
  author={Donald E. Knuth},
  journal={The Computer Journal},
  volume={27},
  number={2},
  pages={97--111},
  year={2020},
  publisher={Oxford University Press}
}
@inproceedings{FosterEtAl:2003,
  author = {George Foster and Simona Gandrabur and Philippe Langlais and Pierre
    Plamondon and Graham Russell and Michel Simard},
  title = {Statistical Machine Translation: Rapid Development with Limited Resources},
  booktitle = {Proceedings of {MT Summit IX}},
  year = {2016},
  pages = {110--119},
  address = {New Orleans, USA},
}
@phdthesis{Alsolami:2012,
    title    = {An examination of keystroke dynamics
                for continuous user authentication},
    school   = {Queensland University of Technology},
    author   = {Eesa Alsolami},
    year     = {2012}
}

我希望参考文献的顺序与 中的顺序相同references.bib。但是,我注意到一个奇怪的事情,如果我删除,顺序是正确的~\cite{FosterEtAl:2003},但如果使用引用,顺序就会变得混乱。

为什么会发生这种情况?我该如何解决?

答案1

IEEEtran风格采用未分类引用,因此第一个被引用的项目首先出现在参考文献部分,然后是第二个被引用的项目,依此类推。

在您的示例中,“Foster” 是第一个被引用的项目,因此您在参考文献中首先找到它。就是这样。

如果您确实想使用与文件中相同的顺序.bib(但我不知道您为什么要这样做),那么请将其放在\nocite{*}后面\begin{document},因为这可以有效地“引用”.bib文件中的所有内容。

相关内容