修改后使用 \st{} 删除文本

修改后使用 \st{} 删除文本

我使用了\st{}withsoul包。现在,删除所有出现的 中的文本的最佳方法是什么\st{}

答案1

你可以简单地重新定义\st来使用它的参数

\renewcommand\st[1]{}

还有两个细节需要涉及。

根据你删除空格的严格程度,上述定义可以在单词之间留下两个连续的空格(因此间距不规则)。更高级的定义是

\makeatletter
\renewcommand\st[1]{\@bsphack\@esphack}
\makeatother

但这并不能保证间距固定。如果有的话,test \st{this}.句号前面会有一个空格。

另一个细节是,这是单次修订控制。如果您要进行多次修订,您可能需要不同的删除线命令,例如

\usepackage{soul}
\makeatletter
\let\stC=\textst
\newcommand\stB[1]{\@bsphack\@esphack}
\renewcommand\st[1]{\@bsphack\@esphack}
\makeatother

因此,这\stC将删除修订版本 C,但\stB\st将消失。请注意,\textst是的底层命令名称\st

相关内容