使用 ieeetr.bst 的参考书目中的参考文献顺序存在问题

使用 ieeetr.bst 的参考书目中的参考文献顺序存在问题

编译器:XeLaTeX

Bibliography.bib我有一个包含以下代码的文件:

@misc{Bacterial_Classification,
    author = "Franklin D. Lowy",
    title = "Bacterial Classification, Structure and Function",
    howpublished = {\url{https://api.semanticscholar.org/CorpusID:49963607 (accessed: Columbia University, 2008)}},
    keywords = "Basics of Bacteria"
}

@article{Mass_Spectrometry,
  author =       "Anja Freiwald
and Sacsha Sauer",
  title =        "Phylogenetic classification and identification of bacteria by mass spectrometry",
  journal =      "Nat Protoc",
  volume =       "4",
  number =       "5",
  pages =        "732-742",
  year =         "2009, doi: https://doi.org/10.1038/nprot.2009.37",
  DOI =          "https://doi.org/10.1038/nprot.2009.37",
  keywords =     "Spectrometry"
}

main.tex我希望参考书目的最终文件中,我有以下代码:

\pagestyle{plain}
\nocite{*}
\bibliographystyle{ieeetr}

\renewcommand{\refname}{REFERENCES}
\phantomsection
\addcontentsline{toc}{section}{REFERENCES}
\bibliography{Bibliography.bib}
\clearpage

那么,我已经按照 IEEE 格式编写了,对吗?在 IEEE 格式中,参考文献按引用在文档正文中出现的顺序出现。“参考文献列表条目应按照论文正文中引用来源的顺序排列,从 [1] 开始,然后按数字升序排列,从最低数字到最高数字。参考文献列表条目不按作者或来源标题的字母顺序排列。

我提到Bacterial_Classification 第一的作为\cite{Bacterial_Classification}然后我提到 Mass_Spectrometry 是\cite{Mass_Spectrometry}在 pdf 的结果输出中,在最后一节的参考文献中,它们看起来像这样:

[1] A. Freiwald 和 S. Sauer,“通过质谱法对细菌进行系统发育分类和鉴定”,Nat Protoc,第 4 卷,第 5 期,第 732-742 页,2009 年,doi:https://doi.org/10.1038/nprot.2009.37

[2] FD Lowy,“细菌的分类、结构和功能。”https://api.semanticscholar.org/ 语料库ID:49963607(访问日期:哥伦比亚大学,2008 年)。

Mass_Spectrometry如果我删除( )的引用,\cite{Mass_Spectrometry}那么引用当然会排在第二位(因为 1)这是文件中的顺序.bib,并且 2)无论哪种方式我都有引用Bacterial_Classification),如果我再次引用它(我重复的引用Bacterial_classification)它将再次排在第一位……

为什么会发生这种情况?第二个引用在文本中也首先出现,编号为 [1],而第一个引用在文本中第二个出现,编号为 [2]。我该如何解决这个问题?

PS:如果我用确切地相同的序言可以解决问题……我快要疯了。是我的文本中有什么导致了这个问题吗?怎么会这样?这不是代码……我实际上只是用复制/粘贴相同的序言创建了一个新文档,并且我只在阶段中写了参考书目代码\begin{document} \end{document}

PS2:(已编辑)我刚刚发现问题是我有很多.tex文件。我的意思是我有主文件,但我有.tex每个章节的文件。因此,当我在其他.tex文件中引用参考书目而不是在主文件中引用参考书目时,参考文献就会出现仅有的按字母顺序。

我该如何修复这个问题?我的代码中必须包含什么以及在哪里?

答案1

请帮自己一个大忙,不要再使用非常过时的ieeetr参考书目样式。如果您改用IEEEtran参考书目样式,则参考书目条目将按照它们在\cite文档正文中的命令中出现的顺序进行排序。

在此处输入图片描述

在下面的代码中,请注意我已经替换

howpublished = {\url{https://api.semanticscholar.org/CorpusID:49963607 (accessed: Columbia University, 2008)}},

  url      = "https://api.semanticscholar.org/CorpusID:49963607",
  year     = 2008,
  note     = "Accessed: Columbia University",

即,IEEEtranbib 样式知道一个名为的字段url


% !TEX TS-program = xelatex
\documentclass{article}

\begin{filecontents}[overwrite]{Bibliography.bib}
@misc{Bacterial_Classification,
  author   = "Franklin D. Lowy",
  title    = "Bacterial Classification, Structure and Function",
  url      = "https://api.semanticscholar.org/CorpusID:49963607",
  year     = 2008,
  note     = "Accessed: Columbia University",
  keywords = "Basics of Bacteria"
}
@article{Mass_Spectrometry,
  author   = "Anja Freiwald and Sascha Sauer",
  title    = "Phylogenetic classification and identification of bacteria by mass spectrometry",
  journal  = "Nat Protoc",
  volume   = "4",
  number   = "5",
  pages    = "732-742",
  year     = "2009",
  url      = "https://doi.org/10.1038/nprot.2009.37",
  keywords = "Spectrometry"
}
\end{filecontents}

\usepackage{cite} % classic citation management package for numeric citation call-outs
\bibliographystyle{IEEEtran} % <-- not 'ieeetr', please
\usepackage{xurl} % allow line breaks at arbitrary points in a URL string

\begin{document}
\noindent
\cite{Bacterial_Classification}, \cite{Mass_Spectrometry}
\bibliography{Bibliography}
\end{document}

相关内容