答案1
通常,\pgfkeys{<key path>/.code=...}
内部定义两个键<full key path>/.@cmd
和<full key path>/.@body
,因此您可以使用
\documentclass{article}
\usepackage{tikz}
\pgfqkeys{/pgf}{test/.code={TEST}}
\begin{document}
\pgfkeysifdefined{/pgf/test/.@cmd}{TRUE}{FALSE} % output "TRUE"
\pgfkeysifdefined{/pgf/test/.@body}{TRUE}{FALSE} % output "TRUE"
\pgfkeys{/pgf/test}
\end{document}
<key>/.@cmd
pgf 手册第 88.3.3 节中有一个简短的介绍。
更多说明
\pgfkeysifdefined{<key>}{<true>}{<false>}
测试内部命令是否\pgfk@<key>
定义,它不能用于测试<key>
处理程序是否定义.code
。- 一方面,键定义为一些处理程序无法区分。例如,
.code
和.ecode
。 - 另一方面,由其他一些(种类)处理程序定义的键是可以区分的。例如,
.(e)code
和定义的键.(e)code 2 args
可以通过其对应命令的参数指定部分来区分\pgfk@<key>/.code
。