
Existe uma maneira de decidir se uma determinada chave teve o .value forbidden
manipulador aplicado?
Por exemplo, eu gostaria de escrever um manipulador .only
que pudesse ser aplicado a chaves para simular a funcionalidade do Beamer \only
. Uma primeira tentativa seria
\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}
No entanto, isso falha para chaves que foram .value forbidden
aplicadas. Executar o seguinte produz um erro porque myred={}
é efetivamente o que acontece no slide 2.
\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}
Se houvesse alguma maneira de decidir se \pgfkeyscurrentpath
foi .value forbidden
aplicado, eu poderia usar essas informações para enviar um valor de \pgfkeysnovalue
, em vez de {}
, para \pgfkeyscurrentpath
.