Provided by: latexml_0.8.4-1_all bug

NAME

       "LaTeXML::Core::KeyVal" - Key-Value Defintions in LaTeXML

DESCRIPTION

       Provides an interface to define and access KeyVal definition.  Used in conjunction with
       "LaTeXML::Core::KeyVals" to fully implement KeyVal pairs. It extends LaTeXML::Common::Object.

   Exposed Methods
       "DefKeyVal(keyset, key, type, default, %options); "
           Defines  a new KeyVal Parameter in the given keyset, key and with optional prefix option{prefix}. For
           descriptions of further parameters, see LaTeXML::Core::KeyVal::define.

       "HasKeyVal(prefix, keyset, key); "
           Checks if the given KeyVal pair exists.

       "DisableKeyVal(prefix, keyset, key); "
           Disables the given KeyVal so that it can not be used.

   Constructors
       "<LaTeXML::Core::KeyVal-"new(preset, keyset, key); >>
           Creates a new KeyVal object. This serves as a simple reference to the given KeyVal object, regardless
           of its existence or not.

   KeyVal Accessors
       "$prefix = $keyval->getPrefix;"
           Gets the prefix of this KeyVal object.

       "$keyset = $keyval->getKeySet;"
           Gets the keyset of this KeyVal object.

       "$key = $keyval->getKey;"
           Gets the key of this KeyVal object.

       "$prefix = $keyval->getFullPrefix;"
           Gets the full prefix of this keyval object, to be used when composing macros.

       "$prefix = $keyval->getHeader;"
           Gets the header of this keyval object, to be used when composing macros.

   Keyval Property Getters
       "$value = $keyval->getProp($prop);"
           Gets the value of a given property of this KeyVal. Intended for internal use only.

       "$value = $keyval->setProp($prop, $value, $scope);"
           Sets the value of the given property with the given value and scope. Intended for internal use only.

       "$type = $keyval->getType();"
           Gets the type of this KeyVal object, as found in $STATE.

       "$keyval->setType($type);"
           Sets the type of this KeyVal object, as found in $STATE.

       "$default = $keyval->getDefault();"
           Gets the default of this KeyVal object, as found in $STATE.

       "$keyval->setDefault($default, $setMacros);"
           Sets the default of this KeyVal object, and optionally sets the macros as well.

   KeyVal Key Definition
       "$defined = $keyval->isDefined($checkMacros);"
           Checks if this KeyVal item is actually defined. If checkMacros is set to true, also check  if  macros
           are defined.

       "$keyval->define($type, $default, %options);"
           (Re-)defines  this  Key  of  kind 'kind'.  Defines a keyword key used in keyval arguments for the set
           keyset and, and if the option code is given, defines appropriate macros when  used  with  the  keyval
           package (or extensions thereof).

           If  type  is  given,  it  defines  the  type of value that must be supplied, such as 'Dimension'.  If
           default is given, that value will be used when key is used without an equals and explicit value in  a
           keyvals argument.

           A  scope  option can be given, which can be used to defined the key-value pair globally instead of in
           the current scope.

           Several more options can be given. These implement the behaviour of the xkeyval package.

           The prefix parameter can be used to configure a custom prefix for the macros to be defined. The  kind
           parameter can be used to configure special types of xkeyval pairs.

           The 'ordinary' kind behaves like a normal keyval parameter.

           The  'command'  kind  defines  a  command key, that when run stores the value of the key in a special
           macro, which can be further specefied by the macroprefix option.

           The 'choice' kind defines a choice key, which takes additional  options  choices  (to  specify  which
           choices  are  valid  values),  mismatch (to be run if an invalid choice is made) and bin (see xkeyval
           documentation for details).

           The 'boolean' kind defines a special choice key that  takes  possible  values  true  and  false,  and
           defines  a  new  Conditional  according  to  the  assumed  value. The name of this conditional can be
           specified with the macroprefix option.

           The kind parameter only takes effect when code is given, otherwise only meta-data is stored.

       "$keyval->defineOrdinary($code);"
           Helper function to define $STATE neccesary for an ordinary key.

       "$keyval->defineCommand($code, $macroprefix);"
           Helper function to define $STATE neccesary for a command key.

       "$keyval->defineChoice($code, $mismatch, $choices, $normalize, $bin);"
           Helper function to define $STATE neccesary for an choice key.

       "$keyval->defineBoolean($code, $mismatch, $macroprefix);"
           Helper function to define $STATE neccesary for a boolean key.

       "disabled = $keyval->isDisabled();"
           Checks if this keyval property is disabled.

       "$keyval->disable();"
           Disables this KeyVal object in $STATE.

   Value Related
       "$expansion = $keyval->setKeys($value, $useDefault, $checkExistence, $checkDisabled, $setInternals);"
           Expands this KeyVal into a Tokens() to be used with \setkeys.  value contains the value to be used in
           the expansion, useDefault indicates if the value argument should be ignored and the default should be
           used instead.  If checkExistence is set to 1 and the macro does not exist,  undef  is  returned.   If
           checkDisabled  is set to 1 and the macro is disabled, an empty Tokens() is returns.  If $setInternals
           is set, sets XKeyVal internal macros.

       "$reversion = $keyval->digest($stomach, $value);"
           Digests this KeyVal with the given stomach and value.

       "$reversion = $keyval->revert($value, $useDefault, $compact, $isFirst, $punct, $assign);"
           Reverts this KeyVal with a given value (or the default if  IsDefault  is  set)  and  punctuation  and
           assignment  tokens.   If  compact  is  given,  spaces  will  be omitted when possible.  The isDefault
           parameter indicates if appropriate seperation tokens should be inserted.

       "$str = $keyval->toString();"
           Turns this KeyVal object into a string.

AUTHOR

       Tom Wiesing <tom.wiesing@gmail.com>

COPYRIGHT

       Public domain software, produced as part of work done by the United States Government &  not  subject  to
       copyright in the US.

perl v5.30.0                                       2020-02-18                         LaTeXML::Core::KeyVal(3pm)