从命令输入中删除命令

从命令输入中删除命令

我正在尝试创建自己的命令来突出显示一些更改。我希望该命令更新计数器、在内容表中添加一行并在文本中做一些更改。

到目前为止,我得到:

\DeclareRobustCommand{\CoorAdd}[1]{%
\refstepcounter{change}%
\textcolor{blue}{#1}% 
\addcontentsline{tod}{subsection}{Correction \arabic{change}. Added: 
\textcolor{blue}{\substring{#1}{1}{20}}~% substring macro to cut the text to the first 20 characters
}
\ignorespaces}

只要输入中没有命令,它就可以正常工作。如果我输入\CoorAdd{ in figure \Cref{fig.fig}},它会产生一堆错误,例如:

Argument of \@crefstar has an extra }. [...s.}}{1}{20}}\nobreakspace {}}{10}{change.34}]
Paragraph ended before \@crefstar was complete. [...s.}}{1}{20}}\nobreakspace {}}{10}{change.34}]
Undefined control sequence. [...s.}}{1}{20}}\nobreakspace {}}{10}{change.34}]
Undefined control sequence. [...s.}}{1}{20}}\nobreakspace {}}{10}{change.34}]
Undefined control sequence. [...s.}}{1}{20}}\nobreakspace

我的问题是:有没有办法从输入中删除命令?或者也许可以通过删除\或类似命令来取消命令。我不介意周围有一些额外的垃圾文本。

提前致谢!

- - 编辑 - -

我意识到问题与命令“\substring”有关,该命令不接受输入字符串中的命令。无论如何,我不再使用它了。

因此,我要结束这个问题。

谢谢大家的帮助,很抱歉给您带来麻烦。

解决方案:删除命令\substring

相关内容