
Hier ist ein kleiner Code.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{menukeys}
\begin{document}
\keys{Ctrl+Alt+C}
\keys{BUG}
\keys{\return}
\end{document}
Nehmen wir beispielsweise an, dass ich das kenne \keys{BUG}
und \keys{\return}
es nicht gut funktioniert. Daher möchte ich die Befehle neu definieren \keys
, um eine teilweise selbst erstellte Lösung zu verwenden, bei der das Paket repariert wird.
Dazu muss ich beispielsweise die Spur des ursprünglichen \keys
Makros in einem Befehl speichern. Dann könnte ich mein Makro definieren , das sich um die Argumente kümmert , oder einfach das ursprüngliche Makro wiederverwenden . Wie kann ich das tun?\@@@@keys
\keys
BUG
\return
\keys
Antwort1
So etwas in der Art, allerdings habe ich nicht überprüft, wie \keys
die Eingabe verarbeitet wird. Mir ist aufgefallen, dass es ursprünglich nicht als Makro mit einem Parameter definiert ist. Es könnte Dinge mit Catcodes tun, die hier nicht möglich wären. Vielleicht passiert das aber nicht, daher könnte die vorgeschlagene Lösung praktikabel sein.
( standalone
Klasse zum Erzeugen eines zugeschnittenen Bildes)
\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}