添加前缀命令 - 待办事项计数器

添加前缀命令 - 待办事项计数器

我想看看todos我还剩下多少。因此我尝试重新定义todo命令如下:

\newcounter{todocounter}
\renewcommand{\todo}[2][]{\stepcounter{todocounter}\todo[#1]{#2}}

然而这似乎导致了一个无限循环(定义中的 todo 似乎使用了声明中的 todo)。搜索只得到这对我的情况没有帮助。有什么技巧可以让它起作用吗?(etoolbox/我可以使用一些扩展时间魔法吗/别名有帮助吗)

我不想todo用或类似的替换所有 s numberedTodo

答案1

随着T.Verron暗示很明显,无限递归可以通过创建具有不同名称的宏副本来解决。

\usepackage{letltxmacro}
...
\newcounter{todocounter}
\LetLtxMacro{\oldTodo}{\todo}
\renewcommand{\todo}[2][]{\stepcounter{todocounter}\oldTodo[#1]{#2}}
...
\thetodocounter

如果有人发现这个问题并想在文档结束前打印待办事项的总数,请查看以下答案:如何在文档开头显示计数器的最终值?

相关内容