代替コマンド定義を元に戻す

代替コマンド定義を元に戻す

私は段落コマンドを再定義するコードを挿入する自動化システムを使用しています。

% 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」は表示されません(ただし、同じ行に不要なスペースが追加されます)。これが再定義の目的であることはほぼ間違いありません。

関連情報