撤消替代命令定义

撤消替代命令定义

我正在使用一个自动化系统,它注入了一些重新定义段落命令的代码:

% Redefines (sub)paragraphs to behave more like sections
\ifx\paragraph\undefined\else
\let\oldparagraph\paragraph
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
\fi
\ifx\subparagraph\undefined\else
\let\oldsubparagraph\subparagraph
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
\fi

我被这个改变困住了。

这导致我使用的下面某些 LaTeX 包出现问题。

有没有简单的方法可以取消此操作?也许

\renewcommand{\paragraph}{\oldparagraph}

答案1

做就做\renewcommand{\paragraph}{\oldparagraph}如果 \paragraph首先被定义。

更好的是

\let\paragraph\oldparagraph

如果\oldparagraph没有定义,那么您的类就不允许\paragraph开始,并且您会收到一个错误,就像没有注入代码一样。

顺便说一句,该代码是错误的,它应该

\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}\par}

否则输入如

\paragraph{Title}
Something

不会在新行上出现“Something”(但在同一行上,另外还有一个虚假的空格),这几乎肯定是重新定义想要达到的目的。

相关内容