在使用带有 bibtex 后端和 ieee 样式的 biblatex 编译包含参考文献的 tex 文件(通过 Texstudio 编辑器和 Miktex 发行版)时,输出 pdf 中显示的参考文献的结果在“卷”和“发行号”条目处混乱,如下所示:
- 缺少卷标“vol.”(下面给出的示例中参考 1 和 2)。
- 缺少数字发行号“3”(给定示例中的参考 1)。
- 尽管没有提供输入条目,但是却显示问题编号标签“no.”(给定示例中的参考 2)。
如果有帮助的话,在 2017 年 3 月 11 日 Miktex 最近更新后注意到了这种行为,包括biblatex-ieee包(版本 1.2a 2017-03-02)。和之前一样,一切都很顺利!
那么其他人是否注意到了这个问题? 有人知道 biblatex 出现这种奇怪行为的原因吗?
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{reference.bib}
@article{author1,
author = "George Green",
title = "Basic latex",
year = "2000",
journal = "Sharelatex Journal",
volume = "10",
number = "3",
pages = "100--101"
}
@article{author2,
author = "Carol White",
title = "Basic studio",
year = "2010",
journal = "Club Journal",
volume = "20",
pages = "200--201"
}
\end{filecontents}
\usepackage[backend=bibtex, style=ieee]{biblatex}
\addbibresource{reference.bib}
\begin{document}
Hi there! \\
Ref 1 Green \cite{author1}. \\
Ref 2 White \cite{author2}.
\printbibliography
\end{document}
答案1
在版本 1.2a 中,biblatex-ieee
宏中的一行volume+number+eid
错误地被读作\bibstring{number}
。\printfield{number}
正确的定义是
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\newunit
\printfield{number}%
\newunit
\printfield{eid}%
}
你可以把它放入你的序言中。
您还需要
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}\addnbspace#1}
在卷前的“vol.”