使用 ieee biblatex 样式与 biber 时如何跳过“no.”?

使用 ieee biblatex 样式与 biber 时如何跳过“no.”?

考虑参考书目文件biblio.bib

@article{Sutter-TheFreeLunchIsOver,
  author={Herb Sutter},
  title={The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software},
  journal={Dr.\ Dobb's Journal},
  year={2005},
  volume={30},
  number={3},
  month= mar
}

和乳胶文件main.tex

\documentclass{article}
%\documentclass{IEEEtran}
\usepackage[backend=biber,bibstyle=ieee]{biblatex}
\addbibresource{biblio.bib}
\begin{document}
\cite{Sutter-TheFreeLunchIsOver}
\printbibliography
\end{document}

无论我们使用 article 类还是 ieeetran 类,从以下位置获取的 PDF 中都会打印一个不带数字的“no.” pdflatex main && biber main && pdflatex main

pdflatex main && biber main && pdflatex main 的输出

我不知道为什么文件number={3}中的数字条目 ( ).bib被忽略,以及打印没有数字的“no.”是错误还是功能。显然,很难关闭它,因为截至 2017 年 3 月 2 日,biblatex-ieee 文档也存在此错误/功能。

无论如何,我都想完全避免使用“no.”或改用“no. 3”。有什么帮助吗?

答案1

这是样式的一个错误。当前的定义ieee.bbx是:

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \newunit
  \bibstring{number}%
  \newunit
  \printfield{eid}%
}

\bibstring错误的。应该是\printfield

因此,将以下定义添加到您的标题(加载后biblatex)。

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \newunit
  \printfield{number}%
  \newunit
  \printfield{eid}%
}

撰文人获悉。

相关内容