
Aqui está um pequeno código.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{menukeys}
\begin{document}
\keys{Ctrl+Alt+C}
\keys{BUG}
\keys{\return}
\end{document}
Suponhamos que eu saiba, por exemplo, disso \keys{BUG}
e \keys{\return}
não funcione bem. Então eu gostaria de redefinir os comandos \keys
para usar uma solução caseira parcial durante o reparo do pacote.
Para fazer isso preciso manter o rastreamento da \keys
macro original em um comando, \@@@@keys
por exemplo. Então eu poderia definir minha macro \keys
que cuidará dos argumentos BUG
e \return
, ou apenas reutilizará a macro original \keys
. Como eu posso fazer isso ?
Responder1
Algo assim, porém não verifiquei como \keys
processa sua entrada, noto que inicialmente não está definido como uma macro de um parâmetro, poderia fazer coisas com catcodes que aqui não serão possíveis. Talvez embora isso não aconteça, a solução proposta possa ser viável.
( standalone
classe usada para produzir imagem 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}