\usepackage 的顺序导致脚注和 xcolor 出现错误

\usepackage 的顺序导致脚注和 xcolor 出现错误

尝试编译以下内容,

\documentclass[answers]{exam}

\usepackage{footnote}
\usepackage{xcolor}
\makesavenoteenv{solution}

\begin{document}
\begin{solution}
Hello.\footnote{Goodbye.}
\end{solution}
\end{document}

我在调用的行上收到\footnote有关虚假组结束符号的错误。如果xcolor我不使用包,而是使用其他东西,例如amsmath或,则不会发生错误。此外,如果我切换和语句fullpage的顺序,也不会发生错误。\usepackagexcolorfootnote

从阅读这个帖子,我发现有些包要求以某种方式排序\usepackage。这是其中一种情况,还是发生了其他事情?直观地看,footnotexcolor似乎完全不相关。

答案1

脚注包包含以下行

 \let\fn@endnote\color@endgroup

\color@endgroup如果改变其定义,这将是一个问题 脚注包已加载(如果您加载 xcolor 就会发生这种情况)。

因此建议尽早加载 xcolor。

答案2

您可以使用更新后的footnotehyper软件包代替footnote,它还修复了以下许多其他问题:

\documentclass[answers]{exam}

\usepackage{footnotehyper}
\usepackage{xcolor}
\makesavenoteenv{solution}

\begin{document}
\begin{solution}
Hello.\footnote{Goodbye.}
\end{solution}
\end{document}

相关内容