按整体出现顺序对内联引用进行排序

按整体出现顺序对内联引用进行排序

我已看到许多关于按出现顺序获取引用列表的帖子,但我的问题略有不同,而且我在其他帖子中找不到它......

我想知道是否有办法按文本中出现的顺序对内联引用进行排序。以下是示例:

Main body of text with first citation \cite{source_1}. Second citation here \cite{source_2}. 
For fun here's another \cite{source_3}.
Further on I don't want to worry about correctly ordering my references and would like to 
cite them like this \cite{source_2, source_3, source_1}.

结果如下:

正文正文,第一次引用 [1]。第二次引用这里 [2]。为了好玩,这里还有另一个 [3]。此外,我不想担心参考文献的正确排序,而是想像这样引用它们 [2, 3, 1]。

我希望看到的是,组引用将参考文献显示为“[1, 2, 3]”(或理想情况下为“[1-3]”),而不是我在编辑器中列出的顺序。\bibliographystyle{ieeetr}我已经完成了 90% 的格式,但最后几个细节我还不清楚。

答案1

使用引用包,它可以完成你想要的操作:

\documentclass{article}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
  @book{a,
    author = {A},
    year = {2001},
    title = {A},
  }
  @book{b,
    author = {B},
    year = {2002},
    title = {B},
  }
  @book{c,
    author = {C},
    year = {2003},
    title = {C},
  }
\end{filecontents}

\usepackage{cite}

\begin{document}

\cite{a}
\cite{b}
\cite{c}
\cite{b,a,c}

\bibliographystyle{ieeetr}
\bibliography{\jobname}

\end{document}

它给出了预期的输出:

[1] [2] [3] [1-3]

它还提供了禁用排序或压缩的选项(例如,使用选项可以获得 [1,2,3] [nocompress]

相关内容