LaTeX 技巧 956:连续编号用短线即文献引用 [1, 2] 变成 [1-2]

参考文献的使用中,经常碰到 natbib 宏包,例如:下面一个关于参考文献引用的时候,如何把 [1],[2],[3] 变成 [1-3] 或 [1,2,3] ,通常是用:\usepackage[numbers,sort&compress]{natbib} 来实现的。那么如果是连续的两个编号如何用短线连接。下面就给出了一个解决方案。

例子如下:

\begin{filecontents}{\jobname.bib}
@article{demo1,
  title   = {Some things {I} did},
  author  = {Other, A. N.},
  journal = {J. Irrep. Res.},
  year    = {2012},
  pages   = {x-y}
}

@article{demo2,
  title   = {Cool!},
  author  = {Nobacon, D.},
  journal = {Ann. Improb. Res.},
  year    = {2012},
  pages   = {a-b}
}
\end{filecontents}
\documentclass{article}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\[email protected]}
  {%
    \ifx\[email protected]@yr\relax
      \[email protected]@[email protected]{\@citea}%
    \else
      \[email protected]@[email protected]{--\[email protected]}%
    \fi
  }
  {%
    \[email protected]@[email protected]{--\[email protected]}%
  }
  {}{\FAIL}
\makeatother
\bibliographystyle{unsrtnat}
\begin{document}
\cite{demo1,demo2}
\bibliography{\jobname}
\end{document}

有兴趣的话可以自行编译。Happy LaTeXing!~

选自:https://tex.stackexchange.com/questions/86987/cite-like-1-2-instead-of-1-2/86991#86991

分享到:
未经允许不得转载:LaTeX 技巧 956:连续编号用短线即文献引用 [1, 2] 变成 [1-2]
已有 条意见

    最新文章

    加载中...
      本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


      全国首个精品的LaTeX视频教程,大牛带着你入?#29275;?#35753;LaTeX学习不再纠结,请点击下图咨询详情

      热门评论

        联系我们

        交流QQ群:91940767
        本站QQ号:343083553
        邮箱联系[email protected]
        淘宝店铺latexstudio.taobao.com 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。


        如果您投稿或者希望加入我们团队,请发送您的简历到[email protected]

        科技艺术的完美融合,专业精致的排版体验

        联系我们联系我们
        拳皇命运怎么快速的得到更多的装备
        西游降妖APP下载 堡垒之夜国际服怎么下 女娲补天电子游戏 排列3专家预测 河北快三计划 电子游艺跳槽金活动 中国新年的来历20字 三国全面战争典韦 巴黎圣日耳曼地址 vr赛车开奖