读完警告后,Package biblatex Warning: Patching footnotes failed.
由于重新定义而\@footnotetext
生成投影机我尝试使用以下补丁保留其定义。但是,编译文档后,我发现脚注中的所有引用都消失了。我\footcitetext
一起使用了 以\footnotemark
在脚注中添加参考。
\makeatletter
\let\predefinedfootnotetext\@footnotetext
\makeatother
\documentclass[10pt, xcolor = {dvipsnames}, presentation]{beamer} % xcolor is already loaded with beamer
\makeatletter
\let\@footnotetext\predefinedfootnotetext
\makeatother
Beamer 修补脚注警告:“修补脚注失败。脚注检测将不起作用。”
如上所述,本网站上的大多数答案都建议使用该silence
包,但我不知道如何正确解决这个问题。有些人建议编辑麦粒肿文件,但这似乎是一项艰巨的任务。
这个问题的范围有多大,你什么时候必然会遇到麻烦?
答案1
从 3.10 版本开始,
biblatex
可以使用 自动检测脚注beamer
,警告将消失。
biblatex
需要修补\@footnotetext
要包含的命令,\toggletrue{blx@footnote}
以便能够检测它是否在脚注中。通常的方法只是\patchcmd
对相应的宏进行修补。但需要对其调用beamer
的版本进行一些巧妙的操作,以便修补看起来有点不同。\@footnotetext
\beamer@framefootnotetext
必要的代码可以在https://github.com/plk/biblatex/commit/5169d2a64777090aa29d38df7543301f5c8b876b
要点是我们必须使用
\expandafter\patchcmd\csname beamerx@\string\beamer@framefootnotetext\endcsname
{\color@begingroup}
{\color@begingroup\toggletrue{blx@footnote}}
{\togglefalse{blx@tempa}}
{}
而不仅仅是\patchmd{\beamer@framefootnotetext}
。