![Biblatex 自定义引用命令不适用于 ieee 样式](https://linux22.com/image/398609/Biblatex%20%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E7%94%A8%E5%91%BD%E4%BB%A4%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20ieee%20%E6%A0%B7%E5%BC%8F.png)
我有一个自定义引用命令,它在脚注中插入 url 和咨询日期,并打印参考书目中的所有信息。它在默认样式下运行良好,但当我使用 IEEE 样式时,我收到以下错误:参考书目宏:'cite' 未定义:
我的 MWE :
\documentclass[11pt, twoside]{article}
\usepackage[french]{babel}
\FrenchFootnotes % à insérer si on utilise \usepackage[french]{babel}
\AddThinSpaceBeforeFootnotes % à insérer si on utilise \usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[sorting=none,]{biblatex}
\addbibresource{biblio.bib}
% URL in fn and in bibliography
\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\renewbibmacro*{url+urldate}{%
\usebibmacro{url}%
\iffieldundef{urlyear}
{}
{\setunit*{\addcomma\space}%
\usebibmacro{urldate}}}
\DeclareCiteCommand{\fnurlcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{url+urldate}%
\setunit{\addspace}%
\printtext[labelnumberwidth]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\begin{document}
MWE\fnurlcite{wiki_cloudComputing}
\printbibliography[]
\end{document}
结果:
如果我更改\usepackage[sorting=none,]{biblatex}
为 \usepackage[sorting=none,style=ieee]{biblatex},如本文中定义:
如何使用符合 IEEE bibtex 风格的 biblatex?
我收到以下错误:
有谁知道如何解决这一问题 ?
提前致谢!
答案1
该ieee
样式基于标准numeric-comp
样式。后者不使用cite
书目宏,而是使用一个cite:comp
宏,因此所需的更改只是更改
\usebibmacro{cite}
到
\usebibmacro{cite:comp}
或者为了安全
\usebibmacro{cite:init}
\usebibmacro{cite:comp}
\usebibmacro{cite:dump}
正如指出的那样莫威。
请注意,这些宏基本上是样式的“内部”宏:它们都没有正式记录。