ieee 风格的 biblatex 不再起作用 (biblatex-ieee)

ieee 风格的 biblatex 不再起作用 (biblatex-ieee)

我的参考书目有问题。使用 MikTeX 更新所有软件包后,biblatex出现错误。我多次卸载并安装了 MikTeX 和 Texmaker,但都没有用。仔细查看后,我认为找到了问题的根源。他们发布了biblatex-ieee包,而且它似乎不再正常工作了。

% not working anymore, with the latest version of biblatex-ieee package
\usepackage[style=ieee]{biblatex} 
! Package biblatex-ieee Error: Failed to update citation style.See the biblatex-ieee package documentation for explanation.Type H <return> for immediate help.... ...p,cite:comp:end,cite:comp:inset,cite:dump}

% what's working
\usepackage[style=ieee-alphabetic]{biblatex} 

所以我的问题是:有人知道如何解决这个问题吗?

我本来想安装旧版本的软件包,但我不知道该怎么做。

答案1

该问题已在最新版本中修复biblatex-ieee1.3c 版。此更改与biblatex本身的更新有关,而不是 中的任何内容biblatex-ieee。此外,只有引用样式会受到影响:即使您尚未更新至 v1.3c,您的参考书目仍将继续有效。


目前,您可以添加

% The second step is to replace \multicitedelim and
% \multicitesubentrydelim with a version wrapped in
% the appropriate delimiter.
\renewcommand*{\do}[1]{%
  \expandafter\patchcmd\expandafter
    {\csname abx@macro@\detokenize{#1}\endcsname}%
    {\multicitedelim}
    {\bibclosebracket\multicitedelim\bibopenbracket}
    {}
    {%
      \PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
    }%
  }
\docsvlist{cite:comp:end,cite:comp:inset,cite:comp:shand,cite:dump}

\renewcommand*{\do}[1]{%
  \expandafter\patchcmd\expandafter
    {\csname abx@macro@\detokenize{#1}\endcsname}%
    {\multicitesubentrydelim}
    {\bibclosebracket\multicitesubentrydelim\bibopenbracket}
    {}
    {%
      \PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
    }%
  }
\docsvlist{cite:comp:inset,cite:dump:inset}


% There's also one \multiciterangedelim and one
% \multicitesubentryrangedelimto alter.
\expandafter\patchcmd\expandafter
  {\csname abx@macro@\detokenize{cite:dump}\endcsname}%
  {\multiciterangedelim}
  {\bibclosebracket\multiciterangedelim\bibopenbracket}
  {}
  {%
    \PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
  }%

\expandafter\patchcmd\expandafter
  {\csname abx@macro@\detokenize{cite:dump:inset}\endcsname}%
  {\multicitesubentryrangedelim}
  {\bibclosebracket\multicitesubentryrangedelim\bibopenbracket}
  {}
  {%
    \PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
  }%

加载后biblatex获得正确的行为:加载时仍然会收到警告,但输出会被修复。

答案2

感谢@Ulrike Fischer 提供的信息,我没有注意到 miktex 版本 (1.3b) 不是 ctan (1.3c) 的最新版本。作为解决方案,我从 ctan 下载了最新文件并覆盖了 miktex 安装中的旧文件。现在一切又恢复正常了。

相关内容