
여기에 작은 코드가 있습니다.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{menukeys}
\begin{document}
\keys{Ctrl+Alt+C}
\keys{BUG}
\keys{\return}
\end{document}
\keys{BUG}
예를 들어 내가 그것을 알고 있는데 \keys{\return}
잘 작동하지 않는다고 가정해 봅시다 . 따라서 \keys
패키지가 복구되는 동안 부분적으로 직접 만든 솔루션을 사용하도록 명령을 재정의하고 싶습니다 .
\keys
이를 위해서는 예를 들어 명령에서 원래 매크로의 추적을 유지해야 합니다 \@@@@keys
. 그런 다음 \keys
인수를 처리하는 매크로를 정의 BUG
하거나 \return
원래 매크로를 재사용할 수 있습니다 \keys
. 어떻게 해야 합니까?
답변1
이와 같은 것, 그러나 입력을 어떻게 처리하는지 확인하지 않았 \keys
으며 처음에는 단일 매개변수 매크로로 정의되지 않았으며 여기서는 불가능할 catcode로 작업을 수행할 수 있다는 것을 알았습니다. 아마도 이런 일이 발생하지 않더라도 제안된 솔루션이 실행 가능할 수 있습니다.
( standalone
잘린 이미지를 생성하는 데 사용되는 클래스)
\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}