
特定のキーにハンドラーが適用されているかどうかを判断する方法はありますか.value forbidden
?
たとえば、.only
キーに適用してBeamerの\only
機能をシミュレートできるハンドラーを書きたいとします。最初の試みは次のようになります。
\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}
ただし、これは適用済みのキーに対しては失敗します。以下を実行すると、実際にはスライド 2 で発生する.value forbidden
ため、エラーが発生します。myred={}
\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}
\pgfkeyscurrentpath
が適用されたかどうかを判断する方法があれば、その情報を使用して、 ではなくの値を に.value forbidden
送信できます。\pgfkeysnovalue
{}
\pgfkeyscurrentpath