我尝试按照tikz
手册中的示例(2.10-CVS 开发版本)操作,但没有成功。这是我的 MWE
\documentclass{article}
\usepackage{pgfkeys}
\pgfkeys
{
/handlers/first char syntax=true,
/handlers/first char syntax/the character "/.initial=\hello,
}
\newcommand{\hello}[1]{Quoted: #1.}
\pagestyle{empty}
\begin{document}
Hello: \pgfkeys{"Does this work"}
\end{document}
但我收到以下错误:
! Undefined control sequence.
\pgfkeys@syntax@handlers ->\pgfutil@ifnextchar
\relax \pgfkeys@syntax@@handl...
l.8 }
?
有什么建议么?
答案1
该\pgfutil@ifnextchar
宏被定义为“基本实用程序”的一部分pgf
,但不是代码的一部分pgfkeys
(pgfkeys.code.tex
)。因此,您需要加载,pgf
而不仅仅是pgfkeys
使其工作:
\documentclass{article}
\usepackage{pgf}
\pgfkeys
{
/handlers/first char syntax=true,
/handlers/first char syntax/the character "/.initial=\hello,
}
\newcommand{\hello}[1]{Quoted: #1.}
\pagestyle{empty}
\begin{document}
Hello: \pgfkeys{"Does this work"}
\end{document}
\newcommand
请注意,与问题中的 MWE 相比,我必须对该行进行细微的修改。
由于问题涉及发展版本pgf
,并且由于中的代码注释pgfkeys.code.tex
将其描述为自包含的,因此我认为这是代码中的一个问题,应该报告给开发人员。