todonotes 和 onlyamsmath 的问题

todonotes 和 onlyamsmath 的问题

我有使用todotodonotes包的文档。不幸的是,我总是收到以下错误消息(在我工作的机器上一切正常):

包 tikz 错误:抱歉,某些包重新定义了数学的含义,导致无法恢复的错误。...nn 向“显式计算方案”显示}

似乎与有冲突onlyamsmath

最小工作示例:

\documentclass{article}

\usepackage{todonotes}
\usepackage[all, warning]{onlyamsmath}

\begin{document}

\todo{Blabla}

\end{document}

答案1

这个onlyamsmath包(我个人觉得没用)

\AtBeginDocument{\catcode`$=13 }

这就是您遇到麻烦的原因。该声明的目的是为了捕获$$...$$,但这会破坏 TikZ 的工作。

如果你真的想要将该包与 TikZ (由 隐式加载todonotes)一起使用,那么您必须放弃识别 的用法$$...$$

\documentclass{article}

\usepackage[all, warning]{onlyamsmath}
\AtBeginDocument{\catcode`$=3 }
\usepackage{todonotes}

\begin{document}

\todo{Blabla}

\end{document}

答案2

todonotes和软件包之间的不兼容性onlyamsmath似乎已在 TikZ 和 PGF 软件包 v3.1.6a 中得到修复,自 2020/10/01 起可用。PGF 的 ChangeLog 文件(也可以在 GitHub 上找到) 于 2020-09-28 注释如下:

- Revert "Added sanity check for the catcode of '$' to avoid incompatibilities with onlyamsmath package"

因此,如果您仍然遇到不兼容问题,解决方案是更新您的软件包,然后一切都会好起来。不再需要放弃识别 的使用$$ ... $$

相关内容