我正在尝试创建自己的命令来突出显示一些更改。我希望该命令更新计数器、在内容表中添加一行并在文本中做一些更改。
到目前为止,我得到:
\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