![修改后使用 \st{} 删除文本](https://linux22.com/image/414573/%E4%BF%AE%E6%94%B9%E5%90%8E%E4%BD%BF%E7%94%A8%20%5Cst%7B%7D%20%E5%88%A0%E9%99%A4%E6%96%87%E6%9C%AC.png)
我使用了\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
。