如何使 pgf 默认操作创建不同的密钥

如何使 pgf 默认操作创建不同的密钥

我对 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

相关内容