latex - 使用同名重新定义 latex 宏

标签 latex macros definition

目前我使用 \mytodo macro ,它只是调用 \todo[inline] :

\newcommand{\pbtodo}[1]{\todo[inline]{#1}}

但我想调用这个宏 \todo .最简单的解决方案:
\renewcommand{\todo}[1][]{\todo{#1}} 

不出所料,导致我认为是堆栈溢出:
! TeX capacity exceeded, sorry [input stack size=5000].

有谁知道如何使用旧的\todo宏在重新定义?

最佳答案

我经常see advice on the web沿着以下路线:

\let\Oldtodo\todo
\renewcommand{\todo}[1]{\Oldtodo[inline]{#1}}

对于这种情况。我相信\let是一个普通的 TeX 特性。

关于latex - 使用同名重新定义 latex 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245247/

相关文章:

latex - 自 Xetex 弃用以来,使用 Pandoc 将 Markdown 转换为 PDF

syntax - 用于各种语言代码语法高亮显示的 LaTeX 包

c - 在 C 中调试打印宏?

c++ - 如何在类中声明一个类并在以后定义它?

当我点击那里的内容时,LaTeX hyperref 链接会转到错误的页面

R ztable 包中的百分比符号在编织为 pdf 时抛出\hline 错误

取决于 gcc 开关的条件代码

c# - Visual Studio 宏 - 代码生成语言

PHP脚本语言还是编程语言?

c - 枚举常量声明与定义 - C 标准