Как сохранить определение команды? Или как локально отключить команду?

Как сохранить определение команды? Или как локально отключить команду?

что?

Я хотел бы «сохранить» определение в \includegraphicsтак \something, чтобы работала следующая логика:

% the following line is what I am looking for
store(\includegraphics, \something)
% and then I want to achieve what follows

\renewcommand\includegraphics}[2][]
{}

\doalotofstuff

\renewcommand\includegraphics}[2][]
{%
get_the_definition_from(\something)
}

% now I can again use \includegraphics with its usual definition

Возможно ли это и легко ли достижимо?

но почему?!

Я хочу отключить команду \includegraphicsв некоторых частях моего документа и иметь возможность снова получить обычное \includegraphicsпосле. Этот вопрос связан сэта почта(решение не работает, если \includegraphicsкоманда активна.

решение1

Вы хотите что-то вроде

\usepackage{letltxmacro}

и

\LetLtxMacro\colassavedincludegraphics\includegraphics
\renewcommand\includegraphics[2][]{}

для отключения команды; для ее повторного включения

\LetLtxMacro\includegraphics\colassavedincludegraphics

Для конкретной команды \letможет быть достаточно, но \LetLtxMacroэто безопаснее для команд, которые принимают необязательные аргументы.

ВидетьКогда использовать \LetLtxMacro?для получения дополнительной информации о \LetLtxMacro.

Для сред это зависит от того, как они определены, но commentпакет может оказаться полезным.

решение2

Кажется, вы ищете \let:

\let\something=\includegraphics

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