pgfkeys 的问题

pgfkeys 的问题

我正在尝试使用 pgfkeys 定义带有自定义参数的命令,但我甚至无法运行 pgfmanual 中的示例:

\documentclass{article}
\usepackage{pgfkeys}
\begin{document}
    \pgfkeys{/my key=hallo,/your keys/main key=something\strange,key name without path=something else}
\end{document}

! Package pgfkeys Error: I do not know the key '/my key', to which you passed '
hallo', and I am going to ignore it. Perhaps you misspelled it.

See the pgfkeys package documentation for explanation.
Type  H <return>  for immediate help.
...                                              

l.4 ...range,key name without path=something else}


! Package pgfkeys Error: I do not know the key '/your keys/main key', to which 
you passed 'something\strange ', and I am going to ignore it. Perhaps you missp
elled it.

See the pgfkeys package documentation for explanation.
Type  H <return>  for immediate help.
...                                              

l.4 ...range,key name without path=something else}


! Package pgfkeys Error: I do not know the key '/key name without path', to whi
ch you passed 'something else', and I am going to ignore it. Perhaps you misspe
lled it.

See the pgfkeys package documentation for explanation.
Type  H <return>  for immediate help

这里出了什么问题?我该如何设置密钥?我在 Centos 上尝试了 PGF 2.10 和 3.0。

编辑:我忘了说我确实让第二个例子起作用了:

    \pgfkeys{/my key/.code=The value is ’#1’.}
    \pgfkeys{/my key=hi!}

但这超出了我的预期。pgfmanual 说“通常(但不一定)某些代码与某个键相关联。”我不想添加任何代码,我只想设置键并稍后读取它们。我怀疑这里出了其他问题。

答案1

第一个代码是如何使用键,但不知道如何定义他们:这就是为什么pgfkeys抱怨它不知道密钥。如果您想使用密钥来存储值,请使用\pgfkeys{/my key/.initial=hallo}初始化密钥。然后您可以使用访问密钥的值\pgfkeysvalueof{/my key}

如果稍后要为该键分配不同的值,您只需使用 进行设置即可\pgfkeys{/my key=bye}

\documentclass{article}
\usepackage{pgfkeys}
\begin{document}
\pgfkeys{/my key/.initial=hallo}
\pgfkeysvalueof{/my key}

\pgfkeys{/my key=bye}
\pgfkeysvalueof{/my key}
\end{document}

答案2

第一个“示例”并不是一个完整的示例。它仅展示了 的一个用例\pgfkeys

尝试下一个例子,它给出了密钥的定义/my key并使用它:

\documentclass{article}
\usepackage{pgfkeys}
\begin{document}
  \pgfkeys{/my key/.code=The value is '#1'.}
  \pgfkeys{/my key=hi!}
\end{document}

结果

相关内容