siunitx 中 todonotes 缺少数字错误

siunitx 中 todonotes 缺少数字错误

最小示例:

\documentclass[12pt,a4paper]{report}
\usepackage{todonotes}
\usepackage{siunitx}
\begin{document}
\todo{\today}
\end{document}

这会出现以下错误:

! Missing number, treated as zero.
<to be read again>
                   \
l.5 \todo{\today}

如果您不使用包siunitx,或者如果您使用\todayoutside \todo,或者如果您编写today而不是\today,则相同的代码仍然有效。

为什么?有什么解决方法吗?

答案1

我怀疑问题发生是因为\today不“健壮”(在 LaTeX 意义上)。如果你改变

\todo{\today}

\todo{\protect\today}

您可以同时使用这两个包。或者,加载包并在前言中etoolbox发出指令。\robustify{\today}

相关内容