pgfkeys“/handlers/first char syntax”生成错误

pgfkeys“/handlers/first char syntax”生成错误

我尝试按照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,但不是代码的一部分pgfkeyspgfkeys.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将其描述为自包含的,因此我认为这是代码中的一个问题,应该报告给开发人员。

相关内容