Changes since 2.5f:
- General: Altered policy for handling \XKV@rm in nested \setkeys*
commands: all unknown keys will be recorded, not only the once from
the outermost \setkeys*
- \XKV@s@tk@ys: Removed \global again for consistent approach of
\XKV@rm and to allow groups to keep \XKV@rm local
- \XKV@setkeys: Avoid reset of \XKV@rm in nested \setkeys commands
- \XKV@srstate: Removed XKV@rm again on user request
- \@s@lective@sanitize: protecting assignments from #
- General: Added \KV@def to keyval.tex as it is used by some packages
- \XKV@addtomacro@n: protecting assignments from #
- \XKV@addtomacro@o: protecting assignments from #
- \XKV@ch@cksanitize: protecting assignments from #
- \XKV@f@r: protecting assignments from #
- \XKV@for@n: protecting assignments from #
- \XKVV@t@bulate: Solved bug occurring with empty prefix
- \@s@lective@sanitize: Use private scratch register
- \XKV@addtomacro@n: Use private scratch register
- \XKV@addtomacro@o: Use private scratch register
- \XKV@ch@cksanitize: Use private scratch register
- \XKV@f@r: Use private scratch register
- \XKV@for@n: Use private scratch register
This package is an extension of the keyval package and offers additional
macros for setting keys and declaring and setting class or package options.
The package allows the programmer to specify a prefix to the name of the
macros it defines for keys, and to define families of key definitions;
these all help use in documents where several packages define their own
sets of keys.