使用脚注会导致不相关的错误

使用脚注会导致不相关的错误

我的代码只有无害的警告(hbox 过满等),但只要我输入脚注(如)\footnote{foobar},我就会收到完全不相关的错误,例如Too many math alphabets used in version normal.Use of \reserved@a doesn't match its definition. \reserved@b ->\relax如果没有脚注,我就不会收到这些错误,并且代码无法成功编译。我怀疑这与我加载的包有关。

- - - - - - - - - - - - 更新 - - - - - - - - - - - -

我尝试创建该问题的最小工作示例:

\documentclass[12pt, twoside, a4paper]{report}


\RequirePackage[T1]{fontenc}
\RequirePackage{graphicx}
\RequirePackage{fancyhdr}
\RequirePackage{hyperref}
\RequirePackage{booktabs}
\RequirePackage{algorithm}
\RequirePackage{algpseudocode}
\RequirePackage{url}
\RequirePackage{geometry}
\RequirePackage{tikz}
\RequirePackage{erewhon}
\RequirePackage[utopia]{mathdesign}
\let\mathcal\undefined
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
\RequirePackage{amsmath, amsthm}
\RequirePackage{mathtools}
\newcommand\bmmax{0}
\RequirePackage{bm}
\RequirePackage{scalerel, stackengine}



                    

\begin{document}


\begingroup 
\addtolength{\jot}{.5em}
\begin{equation}
\begin{aligned}
    \mathbf{X}  &\; = \;  \mathbf{B} &\mathbf{N} \mathfrak{G} \bm{\gamma} \; \sim \; \mathcal{N}(0, \; \sigma^2 I_{d \times d}) \\
\end{aligned}
\end{equation}
\endgroup

where $\bm{\gamma}$

\begingroup 
\addtolength{\jot}{.5em}
\begin{equation}
\begin{aligned}
    X  &\; = \leftarrow \;  N \mathcal{N}\mathcal{N}\bm{\beta} \bm{\beta}\bm{\beta}\qquad &N \; \sim \; \mathcal{N}(3, \; \sigma^2) \\
\end{aligned}
\end{equation}
\endgroup

\footnote{foobar}


\end{document}

在这里,我遇到了同样的错误,但这次与我是否添加脚注无关。因此,我相信脚注只是问题的“触发器”,而这个问题在我的整个文档中似乎被忽略了。

- - - - - - - - - - - - 解决方案 - - - - - - - - - - - -

问题现在已经解决了。问题

\let\mathcal\undefined
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}

(我喜欢 mathdesign 字体,但不喜欢\mathcal那里定义的字体)。将上面的两行替换为

\SetMathAlphabet{\mathcal}{normal}{OMS}{cmsy}{m}{n}

按照 Ulrike Fischer 的建议,让一切重新正常工作,使用脚注并将字体更改为所需的\mathcal

相关内容