我正在使用一个自动化系统,它注入了一些重新定义段落命令的代码:
% 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”(但在同一行上,另外还有一个虚假的空格),这几乎肯定是重新定义想要达到的目的。