%++++++++++++++++++++++++++++++++++++ MOTIVATION ++++++++++++++++++++++++++++++++++++% % % % The elaborate and useful xkeyval package introduced \define@cmdkeys and % % \define@boolkeys, which allow for the setting of multiple command keys and % % boolean keys, but in each category those keys must have the same default value % % and no key macro/function. This package seeks to remove these restrictions, % % so that multiple keys of all categories (ordinary keys, command keys, boolean % % keys, and choice keys) can be set at one go and those keys can have different % % default values and functions. This greatly saves tokens, as hundreds of keys % % can, in principle, be issued simultaneously by one command. % % % % Also, the xkeyval package doesn't have the notion of complementary keys, % % which is useful in the case of boolean keys. The present package introduces % % this concept and additionally permits the submission of individual/different % % key macros to the complementary keys. % % % %+++++++++++++++++++++++++++++++++++++ LICENSE ++++++++++++++++++++++++++++++++++++++% % % % This package and accompanying files may be distributed and/or modified under % % the conditions of the LaTeX Project Public License, either version 1.3 of % % this license or any later version. The latest version of this license is in % % http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all % % distributions of LaTeX version 2005/12/01 or later. % % % % The LPPL maintenance status of this software is 'author-maintained'. % % % % This software is provided 'as it is', without warranty of any kind, either % % expressed or implied, including, but not limited to, the implied warranties of % % merchantability and fitness for a particular purpose. % % % % Version 0.3 % % % % Copyright (c) 2010 Ahmed Musa (a.musa@rocketmail.com). % % % %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%