最小示例:
\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
,或者如果您使用\today
outside \todo
,或者如果您编写today
而不是\today
,则相同的代码仍然有效。
为什么?有什么解决方法吗?
答案1
我怀疑问题发生是因为\today
不“健壮”(在 LaTeX 意义上)。如果你改变
\todo{\today}
到
\todo{\protect\today}
您可以同时使用这两个包。或者,加载包并在前言中etoolbox
发出指令。\robustify{\today}