如何確定某個密鑰是否已套用 .value 禁止?

如何確定某個密鑰是否已套用 .value 禁止?

有沒有辦法確定給定的鍵是否已.value forbidden應用處理程序?

例如,我想編寫一個.only可以套用於按鍵來模擬 Beamer\only功能的處理程序。第一次嘗試是

\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
  \only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}

但是,對於已套用的金鑰,這會失敗.value forbidden。執行以下命令會產生錯誤,因為myred={}這實際上是幻燈片 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}

如果有某種方法可以確定是否\pgfkeyscurrentpath.value forbidden申請,那麼我可以使用該資訊發送值\pgfkeysnovalue,而不是{},到\pgfkeyscurrentpath

相關內容