我对 pgf 了解甚少,但我正在努力学习...所以请忍耐一下。
我希望在 pgf 路径上有一个默认操作,这样如果我尝试访问任何未知的键而不给它赋值,结果就是定义一个不同的键(例如id
),其值是原始键的名称。
以便
\pgfkeys{/YF/hello}
实际上会做
\pgfkeys{/YF/id=hello}
如果hello
未知。
答案1
我认为您正在寻找.unknown
密钥处理程序。它在 PGF 手册(2.10 版)的第 55.3.5 节中有描述,并且 TikZ 和 PGF 代码中散布着一些示例(如果我没记错的话,还有 PGFPlots)。此外,TeX-SX 启动板目录中的大多数软件包(以及随后在 CTAN 上的软件包)都有示例。
如果我正确理解了你的情况,那么可以执行以下操作:
\documentclass{article}
%\url{http://tex.stackexchange.com/q/34376/86}
\usepackage{tikz}
\pgfkeys{/YF/.unknown/.code={%
\pgfkeys{/YF/id=\pgfkeyscurrentname}
},
/YF/id/.initial=hello,
}
\begin{document}
\pgfkeysvalueof{/YF/id}
\pgfkeys{/YF/world}
\pgfkeysvalueof{/YF/id}
\end{document}
这产生了hello world
。