下面的例子
\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