我想知道是否有人可以建议一种更好的方法来调整natbib
以生成遵循 IEEE 的数字参考引文参考指南和风格手册具体来说,IEEE 希望将每组引用放在单独的括号中(像这样:[1], [2]),但natbib
似乎坚持对它们进行分组(如下所示:[1, 2])。
该cite
包可以正确处理这个问题,我知道natbib
IEEE 模板“不推荐”用于 IEEE 提交,但我喜欢有时能够将作者姓名拉入文本中,这natbib
让我可以使用\citet
。natbib
如果我最终不得不更改出版物,使用 还允许我切换到作者年份引用,而不必逐一更改每个引用,这也很好。
natbib
我可以通过将分隔符标点符号设置为], [
(使用)来接近\bibpunct
,但natbib
似乎在分隔符后添加了硬编码空格(如下所示:[1], [ 2](请注意 2 前面的空格;它在我的排版副本中看起来更突出)。此时我的解决方案是覆盖natbib.sty
我自己的文档中的一个宏,以删除空格(如果需要,可以将其放在分隔符字符串的末尾):
\makeatletter
\def\NAT@def@citea{\def\@citea{\NAT@separator}}% removed \NAT@space
\makeatother
是否有更优雅、更强大的解决方案,使用cite
或natbib
?或者我应该开始研究biblatex
(我刚刚发现的)未来的工作?
答案1
您的解决方案无法得到很好的改进。我建议改用biblatex
。
然而@Werner 建议\cite
为每个参考使用单独的命令。
为了避免这种情况,你可以使用如下方法:
\usepackage{letltxmacro}
\LetLtxMacro{\Origcite}{\cite}
\makeatletter
\renewcommand*\cite[1]{%
\@for \i:={#1}\do{%
\Origcite{#1}%
}%
}
请注意,通过这种方式,您将失去可选参数\cite
。