![Biblatex 和 apa 样式:reviewauthor 未定义警告](https://linux22.com/image/258733/Biblatex%20%E5%92%8C%20apa%20%E6%A0%B7%E5%BC%8F%EF%BC%9Areviewauthor%20%E6%9C%AA%E5%AE%9A%E4%B9%89%E8%AD%A6%E5%91%8A.png)
我收到警告,
Package biblatex warning: Macro 'reviewauthor' undefined
运行以下命令时,
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{elvis,
author = "Elvis Presley",
title = "Turn Me One More Time",
publisher = "Jail House Books",
year = 1963,
}
\end{filecontents}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}
\begin{document}
Here is a citation \textcite{elvis}
\printbibliography
\end{document}
使用时,称style=authoryear
没有警告。
现在这似乎还没有造成任何不良影响,但我讨厌警告,因为它们习惯于再次出现并困扰你。
知道这是关于什么的吗?
答案1
这个警告是无害的。产生该警告的原因是因为样式apa
声明了宏\renewbibmacro{reviewauthor}
,而该宏reviewauthor
没有在样式加载的文件中定义。
但是,BibLaTeX 手册中\renewbibmacro
规定
类似于,
\newbibmacro
但重新定义了 ⟨name⟩。与 相比\renewcommand
,\renewbibmacro
如果宏未定义,则会发出警告消息,并自动恢复为\newbibmacro
。