如何修正这个命令?

如何修正这个命令?

我已经定义了一个简单的命令

\newcommand{\removedpart}[1]{\iftrue\textcolor{red}{\sout{#1}}\fi}

只需删除或用红线显示即可跟踪更改手稿。我更改\iftrue\iffalse,一切正常。它可以编译,但是当我想用编译它时\iftrue,什么都编译不出来。我花了很长时间才将命令替换为\textcolor{red}{\sout{some text and formula}}之前的实际命令。有什么方法可以使其正确,以便编译和工作?以下代码无法编译。错误是:

缺少}插入。}...&一些文本\\hline}

\documentclass{article}
\usepackage{xcolor}
\usepackage{ulem}
\newcommand{\removedpart}[1]{\textcolor{red}{\sout{#1}}}
%\renewcommand{\removedpart}[1]{} % Uncomment this line to suppress \removedpart output
\begin{document}
\removedpart{Some text} %This works fine. 
\removedpart{$x=y$}     %This doesn't work. 
\end{document}

答案1

您是否尝试过使用注释?如果您只想切换整个文档的行为,则不需要条件。只需定义命令以根据需要输出文本,然后添加注释掉的行,重新定义命令以不输出任何内容。如果您想切换到不输出任何内容,请取消注释重新定义。

\documentclass{article}
\usepackage{xcolor}
\usepackage{ulem}
\newcommand{\removedpart}[1]{\textcolor{red}{\sout{#1}}}
%\renewcommand{\removedpart}[1]{} % Uncomment this line to suppress \removedpart output
\begin{document}
The removed part: \removedpart{this displays only if renewcommand is commented out!}
\end{document}

相关内容