让 natbib 遵循 IEEE 数字引用格式

让 natbib 遵循 IEEE 数字引用格式

我想知道是否有人可以建议一种更好的方法来调整natbib以生成遵循 IEEE 的数字参考引文参考指南风格手册具体来说,IEEE 希望将每组引用放在单独的括号中(像这样:[1], [2]),但natbib似乎坚持对它们进行分组(如下所示:[1, 2])。

cite包可以正确处理这个问题,我知道natbibIEEE 模板“不推荐”用于 IEEE 提交,但我喜欢有时能够将作者姓名拉入文本中,这natbib让我可以使用\citetnatbib如果我最终不得不更改出版物,使用 还允许我切换到作者年份引用,而不必逐一更改每个引用,这也很好。

natbib我可以通过将分隔符标点符号设置为], [(使用)来接近\bibpunct,但natbib似乎在分隔符后添加了硬编码空格(如下所示:[1], [ 2](请注意 2 前面的空格;它在我的排版副本中看起来更突出)。此时我的解决方案是覆盖natbib.sty我自己的文档中的一个宏,以删除空格(如果需要,可以将其放在分隔符字符串的末尾):

\makeatletter
\def\NAT@def@citea{\def\@citea{\NAT@separator}}% removed \NAT@space
\makeatother

是否有更优雅、更强大的解决方案,使用citenatbib?或者我应该开始研究biblatex(我刚刚发现的)未来的工作?

答案1

您的解决方案无法得到很好的改进。我建议改用biblatex

然而@Werner 建议\cite为每个参考使用单独的命令。

为了避免这种情况,你可以使用如下方法:

\usepackage{letltxmacro}
\LetLtxMacro{\Origcite}{\cite}
\makeatletter
\renewcommand*\cite[1]{%
 \@for \i:={#1}\do{%
      \Origcite{#1}%
      }%
}

请注意,通过这种方式,您将失去可选参数\cite

相关内容