pgfopts:预计不会扩展

pgfopts:预计不会扩展

下面的例子

\begin{filecontents}{myclass.cls}
\RequirePackage{pgfopts}
\pgfkeys{
  /XXX/.cd,
  foo/.store in=\foo
}
\ProcessPgfOptions{/XXX}
\LoadClass{article}
\end{filecontents}
%
\newcommand\baz{FOO}
\documentclass[foo={\baz}]{myclass}
\show\foo
\begin{document}
\end{document}

向我展示

> \foo=macro:
->FOO.

我需要并期望未展开的宏\baz作为 的内容\foo。我该如何实现?提前致谢。

答案1

\baz不需要扩展\edef

\begin{filecontents}{myclass.cls}
\RequirePackage{pgfopts}
\pgfkeys{
  /XXX/.cd,
  foo/.store in=\foo
}
\ProcessPgfOptions{/XXX}
\LoadClass{article}
\end{filecontents}
%
\protected\def\baz{FOO}
\documentclass[foo={\baz}]{myclass}
\show\foo
\begin{document}
\end{document}

产生

> \foo=macro:
->\baz .
l.13 \show\foo

相关内容