
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 \keys
para utilizar una solución casera parcial durante la reparación del paquete.
Para hacer eso necesito mantener el rastro de la \keys
macro original en un comando, \@@@@keys
por ejemplo. Luego podría definir mi macro \keys
que se encargará de los argumentos BUG
o \return
simplemente reutilizar la macro original \keys
. Cómo puedo hacer eso ?
Respuesta1
Algo como esto, sin embargo, no verifiqué cómo \keys
procesa 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.
( standalone
clase 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}