
Gibt es eine Möglichkeit zu entscheiden, ob der .value forbidden
Handler auf einen bestimmten Schlüssel angewendet wurde?
Ich möchte beispielsweise einen Handler schreiben .only
, der auf Tasten angewendet werden kann, um \only
die Funktionalität von Beamer zu simulieren. Ein erster Versuch wäre
\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}
Dies schlägt jedoch bei Schlüsseln fehl, die bereits .value forbidden
angewendet wurden. Das Ausführen des Folgenden erzeugt einen Fehler, da myred={}
dies tatsächlich auf Folie 2 geschieht.
\documentclass{beamer}
\usepackage{tikz}
\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}
\begin{document}
\begin{frame}
\begin{tikzpicture}[myred/.style={red}, myred/.value forbidden]
\draw [myred/.only=<2>] (0,0) circle (1.5cm);
\end{tikzpicture}
\end{frame}
\end{document}
Wenn es eine Möglichkeit gäbe, zu entscheiden, ob sich beworben \pgfkeyscurrentpath
hat .value forbidden
, könnte ich diese Information verwenden, um den Wert \pgfkeysnovalue
statt {}
an zu senden \pgfkeyscurrentpath
.