使用 IEEEtran/journal 模式中的 cite 包以压缩方式显示文内引用(例如 [1-3]),而不是默认的 [1]-

使用 IEEEtran/journal 模式中的 cite 包以压缩方式显示文内引用(例如 [1-3]),而不是默认的 [1]-

我一直尝试以以下格式显示文内引用:

[1-3] 或 [1, 6-8]

它看起来像是cite包内的默认包,但我得到的是:

[1]-[3]

具体来说,我使用IEEEtran模板(bare_jrnl更准确地说),并且参考书目按以下方式构建:

\bibliographystyle{IEEEtran}
\bibliography{IEEEabrv,mybib}

包显然已加载。我查看了和cite的文档,但找不到解决方案。IEEEtrancite

答案1

首先是引用问题。引用自 ieeetran 手册

引用与通常一样使用该命令进行\cite。IEEEtran 将生成以 IEEE 样式单独括起来的引用编号。(“[1], [5]” 而不是更常见的“[1, 5]” 形式。)当有三个或更多相邻的引用编号时,基本 IEEEtran 不会排序或生成压缩的“范围”。但是,IEEEtran 预定义了一些格式控制宏,以便于与 Donald Arseneau 的cite包 [13]。因此,作者所要做的就是调用 cite 包:

   \usepackage{cite}

并且相邻的引文编号将自动按 IEEE 样式排序和压缩(范围化)。(当然,\cite要使此功能有效,多个相邻的引文应始终在单个 内声明,并以逗号分隔。)调用 的 cite.sty选项noadjust以防止在需要将引文括在括号中时出现不必要的前导空格。

.......

请注意,如果需要(例如,在非标点/非空格字符旁边),cite.sty命令\cite将自动添加前导空格。即,“( \cite{mshell01})”将变为“( [1])”。如果不希望出现这种情况,请使用cite 包的noadjust选项(cite.sty V3.8 及更高版本),它将关闭添加的空格:

    \usepackage[noadjust]{cite}


然而,我们应该记住,IEEE 有一个无法解释的你所提交的并不是你所得到的 工作流程类型。我可以理解他们这样做可能有原因,但有时变化太剧烈。引用样式也受到影响,特别是它们可能由文字编辑手动修改。最常见的是添加缺失的牛津逗号。此外,压缩和未压缩的引用作为组彼此分开。一些来自已发表文章的示例

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

长话短说,IEEE 似乎没有完全自动化其引用风格,这种风格依赖于上下文,因此,对于用户来说,只需遵循手册就足够了。文字编辑将使固定因此用户端无需调整底层引用机制。您甚至不需要平衡最后一页,因为他们会手动在参考书目项中插入换行符并相应地调整间距。我认为这对 ieeetran 类的作者也不公平,因为我相信如果 IEEE 决定将某些具体的东西作为标准,他可以想出完全自动化的机制。


\begin{rant}

正如我使用时遇到的情况一样siunitx,他们实际上不喜欢多余的位,例如,甚至不要考虑保留你的 TikZ 代码,它们将被位图图像替换。他们还倾向于删除 TeX 修改(在我的情况下,将所有per-mode=frac排版单元更改为硬编码N/m,我甚至不会深入讨论他们对你的矢量图像所做的事情)。

此外,他们不允许您接收修改后的 TeX 文件,但您可以注释修正证明PDF 结果。因此,您只需发送关于文章的粗略想法,他们就会为您创建。这就是尖端技术。可能有些人只是想以稍微令人愉悦的格式看到他们的辛勤工作。

对此的反驳是,白痴院士无法编写适当的最小 LaTeX 代码,但不知何故却设法使用复杂的数学论证来证明事物。科学出版是院士工作描述的一部分。他们有责任撰写适当的文章,就像他们对其结果的贡献负责一样。整个 IEEE 社区不能仅仅因为有人拒绝阅读手册(可能是一本永恒的经典)就回到其最薄弱的环节我没有时间做那个援引无意义的论点;迈向第四个诺贝尔奖的步伐坚定女士们先生们让开!)。

因此 IEEE 可以将文章发回给作者并要求更好的代码。不知何故,文章付款和额外页面费用完全自动化,直到我们付款,整个过程才会停止……短暂的戏剧性沉默……因此,内容也可以得到同样的关注。我要求的不多;只是为我的在线文章支付 175 美元的额外页面费用,该文章可能富含 BeCu 化合物,因此纸张尺寸在所有不利的气候变化下都保持不变,并至少在未来 400 年内保持其最佳可读性条件。

\end{rant}

答案2

如果您使用 Natbib,通过该sort&compress选项,此功能非常容易实现“Easy Peasy Japaneasie”。

这是我使用的前导命令,它完全按照您指定的执行。

\usepackage[numbers,sort&compress,square]{natbib}

忘记吧\cite{blabla},它毫无希望,使用\citep{blabla}\citet{blabla}或按照以下链接的任何其他选项:

http://merkel.zoneo.net/Latex/natbib.php

http://texblog.org/2008/03/17/natbib-multiple-reference-citation/

正如您将看到的,有许多项目,包括各种替代命令,诸如\citeyear或之类的东西\citeauthor,可以让您按照您喜欢的方式真正构造您的措辞。

干杯。

相关内容