LaTeXML::Core::KeyVals(3pm) | User Contributed Perl Documentation | LaTeXML::Core::KeyVals(3pm) |
"LaTeXML::Core::KeyVals" - Key-Value Pairs in LaTeXML
Provides a parser and representation of keyval pairs "LaTeXML::Core::KeyVals" represents parameters handled by LaTeX's keyval package. It extends LaTeXML::Common::Object.
<foo attrib='&GetKeyVal(#1,'key')'>
prefix is the given prefix all key-value pairs operate in and defaults to 'KV'. If given, prefix should be a string.
keysets should be a list of keysets to find keys inside of. If given, it should either be reference to a list of strings or a comma-separated string. This argument defaults to '_anonymous_'.
Furthermore, the KeyVals constructor accepts a variety of options that can be used to customize its behaviour. These are setAll, setInternals, skip, skipMissing, hookMissing, open, close.
setAll is a flag that, if set, ensures that keys will be set in all existing keysets, instead of only in the first one.
setInternals is a flag that, if set, ensures that certain 'xkeyval' package internals are set during key digestion.
skip should be a list of keys to be skipped when digesting the keys of this object.
skipMissing allows one way of handling keys during key digestion that have not been explictilty declared using "DefKey" or related functionality. If set to "undef" or 0, an error is thrown upon trying to set such a key, if set to 1 they are ignored. Alternatively, this can be set to a key macro which is then extended to contain a comman-separated list of the undefined keys.
hookMissing allows one to call a specific macro if a single key is unknown during key digestion.
If this function is called multiple times the noRebuild option should be given to prevent constant rebuilding and the rebuild function should be called manually called.
Furthermore, this methods supports several options.
When the silenceMissing option is set, missing keys will be completely ignored when reading keys, that is they do not get recorded into the KeyVals object and no warnings or errors will be thrown.
Bruce Miller <bruce.miller@nist.gov> Tom Wiesing <tom.wiesing@gmail.com>
Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.
2023-02-03 | perl v5.36.0 |