Hackear: memorizar un comando antes de volver a implementarlo

Hackear: memorizar un comando antes de volver a implementarlo

Aquí hay un pequeño código.

\documentclass[10pt,a4paper]{article}
    \usepackage[utf8]{inputenc}
    \usepackage{menukeys}

\begin{document}

\keys{Ctrl+Alt+C}
\keys{BUG}
\keys{\return}

\end{document}

Supongamos que sé por ejemplo eso \keys{BUG}y \keys{\return}no trabajo bien. Por lo tanto, me gustaría redefinir los comandos \keyspara utilizar una solución casera parcial durante la reparación del paquete.

Para hacer eso necesito mantener el rastro de la \keysmacro original en un comando, \@@@@keyspor ejemplo. Luego podría definir mi macro \keysque se encargará de los argumentos BUGo \returnsimplemente reutilizar la macro original \keys. Cómo puedo hacer eso ?

Respuesta1

Algo como esto, sin embargo, no verifiqué cómo \keysprocesa su entrada, noté que inicialmente no está definida como una macro de un parámetro, podría hacer cosas con catcodes que aquí no serán posibles. Quizás aunque esto no suceda, por lo que la solución propuesta podría ser viable.

mis llaves

( standaloneclase utilizada para producir una imagen recortada)

\documentclass[border=12pt]{standalone}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{menukeys}

\makeatletter
\let\originalkeys\keys
%\show\keys
\protected\def\keys #1{\in@{#1}{BUG,\return}%
                        \ifin@\expandafter\mykeys\else
                              \expandafter\originalkeys
                        \fi {#1}}
\makeatother
\newcommand{\mykeys}[1]{\fbox{\ttfamily\detokenize{#1}}}
\begin{document}
  \keys{Ctrl+Alt+C} 
  \keys{BUG} 
  \keys{\return}
\end{document}

información relacionada