[texhax] Recording options with pgfkeys
José Romildo Malaquias
j.romildo at gmail.com
Wed May 5 14:16:49 CEST 2010
I want to define some options with pgfkeys in LaTeX. Some keys should be
stored in its own macro as well as in a collective macro that could be
used later to reuse those options when calling another macro.
For instance, consider the hypothetic command below whose options are
dealt with pgfkeys:
\mycmd[fontfamily=\ttfamily,fontsize=\small]{...}
This would define macros in the body of \mycmd that would look like this
\def\my at fontfamily{\ttfamily}
\def\my at fontsize{\small}
\def\my at collected@options{fontfamily=\ttfamily,fontsize=\small}
and in the definion of \mycmd, I would use all of them:
\newcommand\mycmd[2][]{%
\pgfkeys{#1}%
% ... do something with the individual option commands
\my at fontfamily\my at fontsize
% ... and also make all of the options available to another
% ... command without having to pass them individually
\expandafter\my at other@cmd\expandafter[\expandafter{\my at collected@options}]{#2}%
}
The option values should not be expanded in the definition of
\def\my at collected@options. This means that the call to \my at other@cmd
will see the options
fontfamily=\ttfamily
and
fontsize=\small
without expanding \ttfamily and \small. That would be done by the call
to \pgfkeys in its body.
How can I implement this? Any help?
Romildo
More information about the texhax
mailing list