biblatex 和 IEEE 引用样式忽略第二次重印

biblatex 和 IEEE 引用样式忽略第二次重印

我想引用出版物的重印本,并附biblatexieee引用样式。建议的解决方案在我之前的问题中,除非我添加第二篇带有重印本的出版物,否则结果与预期一致。在这种情况下,只有第一篇引用的带有重印本的论文是正确的。

顺序是

\cite{Author2000}
\cite{Author1990}

首先参考Doe

逆序

\cite{Author1990}
\cite{Author2000}

首先参考 Mustermann

我只添加了两个引用这个例子和第二条cite命令。

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@InProceedings{Author1990,
  author        = {Max Mustermann},
  title         = {The original Articel},
  booktitle     = {Conference on Originality},
  date          = {1990},
  pages         = {1--4},
  related       = {Author1991},
  relatedstring = {Reprinted in}
}
@InBook{Author1991,
  author    = {Eric Meier},
  title     = {Collection of Originality},
  booktitle = {A simple Book},
  date      = {1991},
  pages     = {100-104}
}
@InProceedings{Author2000,
  author        = {Jon Doe},
  title         = {A Very Important Paper},
  booktitle     = {Conference on Important Publications},
  date          = {2000},
  pages         = {1--42},
  related       = {Author2012},
  relatedstring = {Reprinted in}
}
@InBook{Author2012,
  author    = {J. Miller},
  title     = {Collection of Important Papers},
  booktitle = {Book Title},
  date      = {2012},
  pages     = {100-142}
}
\end{filecontents*}
\documentclass{article}
\usepackage[style=ieee,dateabbrev=false]{biblatex}
\addbibresource{\jobname.bib}
% \renewcommand*{\begrelateddelim}{\addperiod\space} % only biblatex >3.10
\begin{document}
\cite{Author1990}
\cite{Author2000}
\printbibliography
\end{document}

答案1

biblatex-ieee几天前发布的新版本 1.3a 2019-06-19修复了此答案中讨论的问题。如果可能,只需更新biblatex-ieee

如果问题的 MWE 使用当前版本运行,则biblatex-ieee输出符合预期。

下面的答案是为了历史兴趣而保留的。

当前发布版本的驱动程序参考书目biblatex-ieee均​​以代码块结尾

  \usebibmacro{pageref}%
  \newunit\newblock
  \usebibmacro{related}%
  \usebibmacro{finentry}%

处理related条目。如果参考书目中有多个related条目,这会导致问题,因为该块缺少初始化宏。相反,该块应该看起来更像

  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}%

不巧https://github.com/josephwright/biblatex-ieee/commit/549994d193a5f6a95f96bb006840f42a5c98365d已实现所需的更改。遗憾的是,此更改目前仅在 GitHub 上可用,尚未进入 CTAN。

与此同时,最简单的解决方法可能是ieee.bbxhttps://github.com/josephwright/biblatex-ieee并将其放到文档旁边.tex。只需记住在软件包最终更新后删除本地副本即可。

相关内容