Отменить альтернативное определение команды

Отменить альтернативное определение команды

Я работаю с автоматизированной системой, которая внедряет некоторый код, переопределяющий команду абзаца:

% 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» на новой строке (но на той же строке с дополнительным пробелом), что почти наверняка является целью переопределения.

Связанный контент