Desfazer definição de comando alternativo

Desfazer definição de comando alternativo

Estou trabalhando com um sistema automatizado que injeta algum código que redefine o comando do parágrafo:

% 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

Estou preso a essa mudança.

Isso causa problemas com alguns pacotes LaTeX que uso abaixo destas linhas.

Existe uma maneira simples de desfazer essa ação? Talvez

\renewcommand{\paragraph}{\oldparagraph}

Responder1

Fazer \renewcommand{\paragraph}{\oldparagraph}vai fazerse \paragraphestá definido para começar.

Melhor é

\let\paragraph\oldparagraph

Caso \oldparagraphnão esteja definido, então sua classe não permite \paragraphcomeçar e você receberá um erro exatamente como receberia sem o código injetado.

A propósito, esse código está errado e deveria ter

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

caso contrário, insira como

\paragraph{Title}
Something

não terá “Algo” numa nova linha (mas na mesma linha com um espaço espúrio adicional), que é quase certamente o que a redefinição pretende alcançar.

informação relacionada